对于做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