您的位置:首页 > 其它

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

2018-02-14 23:02 113 查看
使用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分支
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: