IE ajax 返回 undefined,并举例模拟

张映 发表于 2014-04-14

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

标签:, , ,

今天发现一个有趣的事情,ajax异步调用时,firefox,chrome返回正常,用jquery 1.4版本时,ie取不到返回值,也不报错,用jquery 1.8版本时,ajax有返回值,但是undefined,第一次遇到这样的问题,哈哈。

出现这样的问题,是因为文件保存编码和页面显示编码不一至造成的。各种浏览器,没有统一的规范,特别是IE,做浏览器兼容时,是比较郁闷的。下面模拟一下这个问题。

1,test.php采用gbk或者gb2312编码

  1. <?php  
  2. header("content-Type: text/html; charset=utf8");    //设置页面显示为utf8  
  3. echo "aaa";  
  4. die;  

2,index.html

  1. <html>  
  2. <head>  
  3. </head>  
  4. <body>  
  5. <script type="text/javascript" src="jquery-1.8.0.min.js"></script>  
  6. <script type="text/javascript">  
  7. $(function(){  
  8.     $.ajax({  
  9.        type: 'post',  
  10.        url: 'test.php',  
  11.        success:function(data){  
  12.             alert(data);  
  13.        }  
  14.     });  
  15. });  
  16. </script>  
  17. </body>  
  18. </html>  

亲,测试一下吧:demo



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