不进ajax,为什么ajax方法就不进去,有错吗?大神们解答一下啊
满意答案
easonled
2018.01.02
采纳率:57% 等级:7
已帮助:1759人
只能告诉你个调试方法,你写的js未必有问题:
我建议你把,error,写上。errorq签名:error:function(xhr,emsg,e);参数代表,ajax的原始请求,emsg代表错误的文本描述,e代表错误对象。
//下面会打印出为什么你的ajax不会执行success回调该执行的函数:
error:function(xhr,emsg,e) {
//打印ajax发生的错误
console.log(e);
//答应出ajax请求返回的文本信息
console.log(xhr.responseText());
}
返回数据格式是json,有以下可能:
1、url,404错误,代表你的url写错了,或者服务器配置的url错误;
2、解析json数据,分两种情况:
a、服务器返回的json数据格式有问题,如常见错误:键必须用双引号包裹,值中的双引号必须转义成\”。值中的换行,回车必须转义成\n,\r.产生这些错误一般是因为自己拼装JSON串,考虑不周到造成的。使用框架,框架会帮处理
b、json数据过大,导致客户端无法解析JSON,需要想办法把请求返回结果变小一些,比如返回分类查询结果,或者一次返回分页查询结果等。
c、服务器本身报错,抛出了html报错信息,你要的数据是json必然出问题。
3、服务器解析json数据要求,带.json结尾或请求头中需要accept=application/json.你提供的url或请求头错误。
4、传输编码错误,ajax一般使用UTF-8编码,有乱码造成json解析不出来,如出现不该出现的”,回车,换行导致数据无法解析成json。
00分享举报