Php JSON数组缺少元素
我正在使用Php JSON数组缺少元素,php,jquery,html,json,Php,Jquery,Html,Json,我正在使用$.getJSONjQuery函数来允许我的站点与不同域中的服务器进行交互。但是,我一直在修复一个导致第三个和第四个数据项未定义的bug。我不确定问题出在哪里 JavaScript: $.getJSON(domain_path + 'display.php?url=' + purl + '&callback=?', function(data) { var username = data['uname']; var point = data['
$.getJSON
jQuery函数来允许我的站点与不同域中的服务器进行交互。但是,我一直在修复一个导致第三个和第四个数据项未定义的bug。我不确定问题出在哪里
JavaScript:
$.getJSON(domain_path + 'display.php?url=' + purl + '&callback=?', function(data) {
var username = data['uname'];
var point = data['point'];
var email = data['email'];
var title = data['title'];
});
电子邮件
和标题
是未定义的
,但uname
和点
是正确的
JSON由以下PHP生成:
$url = mysql_real_escape_string($_GET['url']);
$result = mysql_query("SELECT * FROM user url='$url'")or die(mysql_error());
$row = mysql_fetch_array($result);
if($row){
$uname = $row['uname'];
$point = $row['point'];
$email = $row['email'];
$title = $row['title'];
$output = array('uname'=>$uname,'point'=>$point,'email'=>$email,'title'=>$title);
$out_string = json_encode($output);
echo $callback.'('.$out_string.');';
}
JSON结果如下所示:
284927410({"uname":"john","point":"104","email":"john482@yahoo.com","title":"teacher"});
我可以获得john
和104
,但是当我将它们放入警报()时,电子邮件和标题出现未定义的
有什么规则我错过了吗?或者代码中有错误吗?我复制了您的环境,使用此代码一切正常:
$.getJSON("http://localhost:8081/test", function(data) {
alert(data.uname);
alert(data.point);
alert(data.email);
alert(data.title);
});
其中路径http://localhost:8081/test
仅返回
{“点”:“104”,“标题”:“老师”,“电子邮件”:john482@yahoo.com,“uname”:“john”}
我看你的代码是正确的。一切都应按预期进行注意:您不需要重建$output
变量。只需执行$out\u string=json\u encode($row)代码>-另外,在JS中,我使用数据。title
而不是数据['title']
-不认为有什么区别,但也许值得一试。你是如何以及在哪里意识到电子邮件和标题
是未定义的。在var email=data['email']之后立即通知他们并发送数据['email'];var title=数据['title']代码>。