我使用$.getJSON
jQuery函数允许我的网站与不同域的服务器进行交互。但是,我一直在修复导致第三和第四个数据项为undefined
的错误。我不确定问题出在哪里。
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'];
});
email
和title
为undefined
,但uname
和point
是正确的。
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
,但email
和title
出现undefined
时,我将它们放入alert()
我错过了一些规则吗?或者代码中有什么问题吗?
答案 0 :(得分:0)
我重现了您的环境,使用此代码一切正常:
$.getJSON("http://localhost:8081/test", function(data) {
alert(data.uname);
alert(data.point);
alert(data.email);
alert(data.title);
});
路径http://localhost:8081/test
仅返回
{"point":"104","title":"teacher","email":"john482@yahoo.com","uname":"john"}