为什么
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
得出结论为: 根据你目前提供的代码, 是不会有问题的.
那为什么你的不行呢?
你没提供你是怎么预览你这个html文件的, 是通过 双击直接打开的? 还是 像上面这样使用
http://xxx
这样的形式访问的.你只提供了
2.php
的代码,并没有提供你在访问这个文件时的输出结果, 所以就不清楚你的后端是否有正确的解析PHP文件(或者不支持PHP,直接把PHP代码输出了)提供一下你的这两个文件在保存时的编码是什么, 是否为
UTF-8
, 如果不是请修改为utf-8
编码后再试.
你单独给出这个文件可能的原因有很多,比如:
你的这个文件是不是在服务器上,可不可以直接访问2.php,不在服务器上是无法跨域访问的
你的2.php有没有返回内容,2.php这个文件有没有问题
你有没有可能禁用了js或弹窗,这样也不是弹不出来的,当然这个可能性比较小。
你的jquery文件有没有引用正确,是不是地址不对或者文件不存在
。。。
你请求的是json格式,可能你返回的json不规范,用$.jsonparse(data)获得正确的格式//可能拼错了