不进ajax,为什么ajax方法就不进去,有错吗?大神们解答一下啊

满意答案

00e27ab806e4881f8254fe7ae8741834.png

easonled

2018.01.02

00e27ab806e4881f8254fe7ae8741834.png

采纳率: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分享举报