使用ajax发送post请求后调用servlet成功前台没有调用success

使用jquery ajax发送请求后,前台success方法一直没有调用。

经调试,返回状态码200说明请求发送成功,后台执行OK,猜测问题应该在前台解析返回值部分。

错误示例:

function validateName() {
var name = $("#nameInputId").val();
$.ajax({
type:"POST",
url:"JsonReturnClient",
data:"name",
dataType: "json",
success:callback
});
}
function callback(result,readystatus){
alert("调用成功");
}

servlet:

OutputStream out = response.getOutputStream();
request.getParameter("");
String json = "{'name':'jyf'}";
out.write(json.getBytes());


然后补充error流程,调试发现调用servlet成功后解析结果报错parsererror,经查找,前台设置dataType为json,希望后台返回的格式是json,如果格式不正确会出现该错。检查发现手写json key、value不能用单引号结束,需要用双引号转义。修改后台生成json的方法。


OutputStream out = response.getOutputStream();
request.getParameter("");
String json = "{\"name\":\"jyf\"}";
out.write(json.getBytes());

同时前台为了方便调试跟踪执行结果,需要补全error分支



猜你喜欢

转载自blog.csdn.net/a1257427517/article/details/79327034