jquery ajax ie 返回错误,chrome firefox正常

张映 发表于 2016-03-15

分类目录: nodejs/vue/js/jquery

标签:, , ,

对于做web开发来说,基本上都是在chrome,firefox下面开发,然后才会考虑ie的兼容性问题,因为IE的开发者工具,不好用。对于在chrome,firefox下面正常而在ie不好用的情况,也要淡定一点,这是开发者必然会遇到的问题。下面说一下,ajax在chrome,firefox下正常使用,ie(IE8)下不正常的2种常见情况.

1,缓存问题,ajax提交到一个URL,第一次正常,第二次还是第一次的内容,常见的解决办法是在url后面加一个随机数,或者时间戳。

2,php header设置问题

header("content-Type: text/html; charset=utf8");   //php顶部加了header,返回数据文本类型

 $.ajax({
 type: "POST",
 url: url,
 data: 'domain='+$(obj).attr("alt"),
 dataType:"json",     //js代码中,设置返回数据为json,这就和上面的php冲突了。
...........................

这种情况下,ie是无法识别的,请求是200,但是返回数据是null,chrome firefox正常。最简单的解决办法就是把content-type去掉。

如果是这种情况,IE,CHROME,firefox会有什么返回值呢,自己试一下吧

header("content-Type: application/json; charset=utf8");   //php顶部加了header,返回数据json类型

 $.ajax({
 type: "POST",
 url: url,
 data: 'domain='+$(obj).attr("alt"),
 dataType:"text",     //js代码中,设置返回数据为TEXT,这就和上面的php冲突了。


转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/1783.html