我正在使用jquery - servlet进行parseerror ajax调用。我迷失了。哦,请做什么。
servlet中的数据是有效的json {"success":true,"SelectPartid":{"partidAll":"DA04321;"}}
如果我放弃dataType: 'json',
此工作正常。但后来我无法使用此代码
if (data.success) {
alert("SUCCESS!!");
//alert("success" + data.SelectPartid.partidAll);
}
所以,ajax,请指教
$("#select1").change(function() {
dataString = "Optionselected=" + $("#select1 option:selected").text();
alert("dataString : " + dataString);
$.ajax({
type: 'POST',
url: 'SelectAjx',
data: dataString,
dataType: 'json',
contentType: "application/json; charset=utf-8",
context: this,
success: function(data, textStatus, jqXHR) {
if (data.success) {
alert("SUCCESS!!");
//alert("success" + data.SelectPartid.partidAll);
}
},
error: function(jqXHR, exception) {
//alert('[jqXHR:' + jqXHR + '], [textStatus:' + textStatus + '], [thrownError:' + errorThrown + '])');
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
});
答案 0 :(得分:0)
application/json
这解决了它不能相信我浪费了2个小时因为这条线。 ajax不会导致servlet中的错误..
这是
行 response.setContentType("text/html;charset=UTF-8");
我刚刚将其改为
response.setContentType("application/json;charset=UTF-8");
然后出现了错误。感谢上帝
-copy来自我的上一条评论,我相信这对某人有用。