我正在创建一种像任何社交网络一样的API系统:D 基本上,我创建了一个使用$ getJSON方法调用的php页面:
这是 getuser.php
<?
include 'config.php'; connect();
$get = trim(strip_tags($_GET['id']));
$sql = "SELECT username,id,avatar FROM utenti WHERE id = $get ";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
$row_set[] = $row;
}
echo json_encode($row_set);
?>
(例如id = 2)
[{"username":"Firefoxer","id":"2","avatar":"account\/firefoxer\/pic.jpg"}]
.js功能
$.getJSON('getuser.php', {
id: user
}, function (data) {
callback = data.avatar
});
alert(callback);
问题是......为什么每次都返回未定义的对象?代码似乎没错,有什么想法吗?
答案 0 :(得分:0)
我不确定但是尝试在您的回声之前将标题设置为JSON对象,如下所示:
header('Content-type: application/json');
echo json_encode($row_set);
答案 1 :(得分:0)
由于您要获取对象数组,因此必须提及data
的索引。
即data[0].avatar
$.getJSON( 'getuser.php',{ id: user }, function(data) {
callback = data[0].avatar
alert(callback);
});
答案 2 :(得分:0)
您只能在执行回调函数后访问数据:
$.getJSON( 'getuser.php',{ id: user }, function(data) {
// now it’s available
console.log(data);
});
// now it’s not
这称为异步编程,如果这是一个新概念,请在此处进行搜索。