前台代码如下:
$.ajax({
url:"/loginCheck",
type:"post",
dataType:"json",
data:data,
contentType:"application/json",
success:function(res){
alert(res);
},
error:function(){
alert("失败");
}
})
分析原因
后台返回的是一个String,而jquery ajax 方法中的 dataType 指定的是后台返回数据的类型。 指定的类型与返回的类型不一样,当然会发生错误啦~
解决办法
dataType可以指定的值:
•"xml": 返回 XML 文档,可用 jQuery 处理。
•“html”: 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
•“script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
•“json”: 返回 JSON 数据 。
•“jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
•“text”: 返回纯文本字符串
最后,我们将dataType的值改为了text,成功运行了sucess函数~~~~