好的,我试图在ajax的回调函数中从servlet获取json。但我使用了警报,它给了我[object Object]。当我检查recponse文本时,它是未定义的。我不明白我的意思是servlet上的代码似乎很好我不知道是什么问题?谢谢你的帮助。
我的ajax
$.ajax({
type: 'POST',
url: 'OtherServ',
data: {"frameID": jsonString},
dataType : "json",
success :function(json,jqXHR){
//You can also use html with hidden form
alert(json);
console.log("In Ajax" +json);
var form = $('<form></form>').attr('action','displayform.jsp');
$(form).attr('method','POST');
var ele = $('<input type="text">').attr('name','complete_json');
$(ele).val(json);
$(ele).appendTo($(form));
$(form).appendTo('body');
$(form).submit();
} ,
error: function (jqXHR, exception) {
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
alert(msg);
}
});
这是我的servlet代码
response.setContentType("application/json");
String complete_json = new Gson().toJson(list);
System.out.println("");
System.out.println("Complete JSON");
System.out.println(complete_json);
response.getWriter().write(complete_json);