今天发现一个有趣的事情,ajax异步调用时,firefox,chrome返回正常,用jquery 1.4版本时,ie取不到返回值,也不报错,用jquery 1.8版本时,ajax有返回值,但是undefined,第一次遇到这样的问题,哈哈。
出现这样的问题,是因为文件保存编码和页面显示编码不一至造成的。各种浏览器,没有统一的规范,特别是IE,做浏览器兼容时,是比较郁闷的。下面模拟一下这个问题。
1,test.php采用gbk或者gb2312编码
<?php header("content-Type: text/html; charset=utf8"); //设置页面显示为utf8 echo "aaa"; die;
2,index.html
<html> <head> </head> <body> <script type="text/javascript" src="jquery-1.8.0.min.js"></script> <script type="text/javascript"> $(function(){ $.ajax({ type: 'post', url: 'test.php', success:function(data){ alert(data); } }); }); </script> </body> </html>
亲,测试一下吧:demo
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/1608.html