首页 > 获取不到ajax数据

获取不到ajax数据

为什么
alert(data)不弹框


先用浏览器打开2.php看看是不是可以显示内容。


alert(JSON.strigify(data));


2.php 输出的内容是什么?


更新:
根据你提供的代码得到的结果:

[{"name":"\u5f20\u4e09\u75af1","age":60,"sex":"\u7537"},{"name":"\u5f20\u4e09\u75af2","age":60,"sex":"\u7537"},{"name":"\u5f20\u4e09\u75af3","age":60,"sex":"\u7537"},{"name":"\u5f20\u4e09\u75af4","age":60,"sex":"\u7537"},{"name":"\u5f20\u4e09\u75af5","age":60,"sex":"\u7537"}]

完整代码:
test.html

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script type="text/javascript" src="jquery-1.11.3.min.js"></script>
  <script type="text/javascript">
  $(function(){
    $('button').click(function(){
        $.get('2.php', function(data){
            alert(data);
        }, 'json');
    });
  });
  </script>
 </head>
 <body>
    <h2>Ajax Test</h2>
    <button>加载</button>
    <div id="did"></div>
 </body>
</html>

2.php 就是你提供的代码.

注意: 这两个文件保存时的编码都为 UTF-8

得出结论为: 根据你目前提供的代码, 是不会有问题的.

那为什么你的不行呢?

  1. 你没提供你是怎么预览你这个html文件的, 是通过 双击直接打开的? 还是 像上面这样使用 http://xxx 这样的形式访问的.

  2. 你只提供了 2.php 的代码,并没有提供你在访问这个文件时的输出结果, 所以就不清楚你的后端是否有正确的解析PHP文件(或者不支持PHP,直接把PHP代码输出了)

  3. 提供一下你的这两个文件在保存时的编码是什么, 是否为 UTF-8, 如果不是请修改为 utf-8编码后再试.


你单独给出这个文件可能的原因有很多,比如:

  1. 你的这个文件是不是在服务器上,可不可以直接访问2.php,不在服务器上是无法跨域访问的

  2. 你的2.php有没有返回内容,2.php这个文件有没有问题

  3. 你有没有可能禁用了js或弹窗,这样也不是弹不出来的,当然这个可能性比较小。

  4. 你的jquery文件有没有引用正确,是不是地址不对或者文件不存在

  5. 。。。


你请求的是json格式,可能你返回的json不规范,用$.jsonparse(data)获得正确的格式//可能拼错了

【热门文章】
【热门文章】