今天发现一个有趣的事情,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