Java ResponseText未定义并获取json作为[object]
好的,我尝试在ajax的回调函数中从servlet获取json。但我使用了alert,它给了我[object]。当我检查回复文本时,它是未定义的。我不明白我的意思是servlet上的代码看起来不错我不知道出了什么问题?谢谢你的帮助 我的阿贾克斯Java ResponseText未定义并获取json作为[object],java,jquery,json,ajax,servlets,Java,Jquery,Json,Ajax,Servlets,好的,我尝试在ajax的回调函数中从servlet获取json。但我使用了alert,它给了我[object]。当我检查回复文本时,它是未定义的。我不明白我的意思是servlet上的代码看起来不错我不知道出了什么问题?谢谢你的帮助 我的阿贾克斯 $.ajax({ type: 'POST', url: 'OtherServ', data: {"frameID": jsonString}, dataTyp
$.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);
}
});
试试@Curiousdev,不需要,它已经是JSON:
[object object]
是大多数本机javascript对象的toString()
函数生成的值。浏览器文档本机不支持将JSON显示为其内容。你需要解释一下你在这里想要达到的目标。您是否真的希望以完全相同的方式显示服务器响应(即格式化JSON)?或者您真的需要在元素的某个地方显示jsonobject的值吗?@M.Prokhorov我正试图将这个json发送到jsp,在那里我想要解析它并取出值。但是当我在jsp中收到它时,我也得到了相同的[object object]。@M.Prokhorov为什么响应文本没有定义?
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);