手机端 请求
请求发送后台 请求参数后台接受到了,而且返回参数发送了,但是ajax一直在走error而不是success
1.url地址是对的
2.返回参数是json格式
3.参数后台接收到了并且参数正确
4.
XMLHttpRequest.status=0,
XMLHttpRequest.readyState=0,
textStatus=error
$.ajax({
async: false,
cache: false,
type:"post",
url: "http://192.168.0.128:8080/zhifushouquan/zhufu/wxPay",
data: {
userinfo:code,
code:storeId,
manySum:money,
version:1,
productContent:"微信核销",
system:1
},
dataType: "json",
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("付款提交失败,错误代码:"+XMLHttpRequest.status);
alert("付款提交失败,错误代码:"+XMLHttpRequest.readyState);
alert("付款提交失败,错误代码:"+textStatus);
},
success: function(data) {
alert(data.return_msg.state);
}
})
是不是你的返回结果,不符合json 格式,解析出错
浏览器f12看返回什么啊?
如果你程序没有刻意限制的话,也可以通过pc的浏览器访问你这个网页,然后抓包看下服务器返回的是什么状态码。404是地址写错了,500是服务器端有错误,200是你正确返回了,再看你js怎么解析的。
首先看返回的值是什么,再看看参数的格式是否正确
缺一个type=“json”
看看后台控制器代码,在前端console.log(data)
目测缺失contentType,请求体中的数据类型,下面给你贴个模板,自行比较
$.ajax({
url : url,
type : "POST",
contentType: "application/json;charset=utf-8",
data :data,
dataType : "json",
success : function(result) {
if (result == "success") {
} else {
}
},
error:function(msg){
}
})
type=“json”
贴一下你后台返回的代码看看,可能是返回的问题没有获取到后台传来的返回值
是不是你的返回结果,不符合json 格式,解析出错
你返回的结果的形式可能不是这样的,你好好看下
可能是你返回的数据类型出现问题,你好好看看
应该是你的返回结果,不符合json 格式,解析出错
1、可以把返回的数据放到bejson.com里格式化一下看看是否返回数据的格式不是json格式
2、检查页面的域名跟post的域名是否在同一个域下,如涉及跨域可以考虑使用jsonp进行解决
type=“json” 可能是
把你的代码发出来看看,听你说的感觉是没问题的
返回结果不符合json 格式
在@RequestMapping中增加produces = "text/json;charset=UTF-8"