今天遇到了一个极其奇怪的问题,用各种工具检查都能看到服务器端返回了200,数据也是正常的,但是$.ajax 始终进不到success,郁闷啊,在网上找,
常见问题场景:
1.跨域; 2. $.ajax 没设置 dataType,及服务器端没设置respon.ContentType 3. Json结构错误;
第一第二很快就排除了,到了第三重新度了Json的定义:,重新复习了下Json的定义: 键值对:键为string,值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
原来定义的类型是 {isSuccess:true,message:'good'} 按照键的定义应该修改为 {'isSuccess':true,'message':'good'} 继续执行还不行,按照值的定义修改: {'isSuccess':true,'message':"good"} 彻底郁闷了,这还不行 后面放下这里仔细看了对Json键值的规范,值要定义为带双引号的字符串,为什么是双引号,那么键呢,是不是需要?换成 {"isSuccess":true,"message":"good"} 直接通了。 Json的格式跟Javascript里面对象的区别就在这里,Json要求键,值必须是双引号!!
原文链接:https://www.f2er.com/ajax/55914.html