#ajax listのデータを渡したい
ajax初心者です。初歩的な質問で申し訳ございませんがアドバイスをいただけると幸いです。
一定時間間隔でajaxで通信をしてController側からListのデータを渡したいです。
##Controllerよりlistを渡す
java
1@ResponseBody 2 @RequestMapping(value ="/checkdb",method=RequestMethod.POST) 3 public List<Matching> doProcessAjaxRequest(@AuthenticationPrincipal LoginUserDetails userDetails) { 4 User user = userDetails.getUser(); 5 int userId = user.getUserId(); 6 //チェックロジック 7 List<Matching> matchingList = matchingService.matchingApplicationCheckLogic(userId); 8 //リストをjsに渡す。 9 return matchingList; 10 }
##ajax
jQuery
1$(function(){ 2 var token = $("meta[name='_csrf']").attr("content"); 3 var header = $("meta[name='_csrf_header']").attr("content"); 4 $(document).ajaxSend(function(e, xhr, options) { 5 xhr.setRequestHeader(header, token); 6 }); 7 8 //ajax 9 function doDataRefresh() 10 { 11 $.ajax( // promiseを返す 12 { 13 url:"/checkdb", 14 type:"POST" 15 }) 16 .done(function(returnData){console.log(returnData)}) 17 .fail(function(xhr) {console.log('error')}); 18 return false; 19 } 20 21 (function(){ 22 var t = setInterval(function() 23 { 24 doDataRefresh(); // 定期的に行いたい処理 25 }, 10000); // refresh間隔=5分=300秒=300000ms 26 })(); 27}); 28
以上のように記述しておりますが、
.fail側で処理が行われconsoleにerrorの文字が表示されます。
controller側から文字列を渡したときには問題なく.doneで動いたのですが、
listのオブジェクトを渡したときにはfail側で処理が行われています。
おそらくcontrollerからのデータの渡し方に問題があると思うのですが、
どのようにするのが適切であるのかがわかりません。
アドバイスよろしくお願いいたします。
Spring boot2を使用
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/02 03:58