2017-06-11 10 views
0

jsonというレスポンスを送信するjspページがあります。ページは、AJAX呼び出しによって要求されます。しかし、レスポンスは成功の代わりにAjaxのエラー部分に入りました。ajaxコールでJSONとしてjspレスポンスを受信

次は私のJSPページ(getHangouts.jsp)である:以下は、Ajax呼び出しで

<% 
EntityManager em = null; 
try{ 
    em = HibernateUtil.getEntityManager(); 
    String uid1 = request.getParameter("uid1"); 
    String uid2 = request.getParameter("uid2"); 

    HangoutBll hb = new HangoutBll(); 
    java.util.List<Hangout> list = hb.getAllBetweenUIds(uid1, uid2, em); 

    JSONArray arr = new JSONArray(); 
    for(Hangout h: list){ 
     JSONObject obj = new JSONObject(); 
     obj.put("createdOn", h.getCreatedOn()); 
     obj.put("uid", h.getUid()); 
     obj.put("linkingUid", h.getLinkingUid()); 
     obj.put("text", h.getText()); 

     arr.put(obj); 
    } 

    response.setContentType("application/json"); 
    PrintWriter outt = response.getWriter(); 
    outt.print(arr); 
} 
finally{ 
    if(em != null) 
     em.close(); 
} 
%> 

</body> 

var req_url = 'getHangouts.jsp?uid1='+uid+'&uid2='+linkingUid; 

$.ajax({ 
    type:'post', 
    url:req_url, 
    dataType: 'json', 
    success:function(data){ 

     $.each(data, function (index, obj) { 

      var hangout = ''; 
      if(obj.uid == uid){ 
       hangout = '<div style="width: 100%; text-align: right;"><span style="background: #b3ecff; border-radius: 5px">'+obj.text+'</span><div>'; 
      } 
      else{ 
       hangout = '<div style="width: 100%;"><span style="background: #f2f2f2; border-radius: 5px">'+obj.text+'</span><div>'; 
      } 

      $('#'+'echoText').append(hangout); 
     }); 

    }, 
    error: function(xHR) { 
     showMessage("<div class='alert alert-danger'><a href='#' class='close' data-dismiss='alert' aria-label='close'>&times;</a> "+xHR.responseText+" </div>"); 
    } 
}); 

私はAJAXエラー部分に、次のJSONを取得します。

[{ 
    "uid": "Blake", 
    "text": "Blake: Lets have a coffee..", 
    "linkingUid": "Liong", 
    "createdOn": "2017-06-12 01:10:11.0" 
}, { 
    "uid": "Liong", 
    "text": "Liong: Okay just give me 5 min", 
    "linkingUid": "Blake", 
    "createdOn": "2017-06-12 01:11:03.0" 
}] 

答えて

1

getHangouts.jsp内のすべてのHTMLタグを削除します。応答を含むHTMLタグを返すと、解析エラーが発生し、エラーブロックが呼び出される可能性があります。

また、コンソール上のエラーを確認することができます。

error: function(xHR,status, error) { 
    console.log(error); 
    //console.log(xHR.responseText); 
} 
+1

おかげGurkan Yesilyurtが、それは私のために働きました。私はちょうどgetHangouts.jspとブーム内のHTMLタグを削除... –

関連する問題