$.getJSON 返回了选定的项目
$.getJSON returned selected item
我正在创建一种像任何社交网络:D一样的API系统。基本上,我创建了一个使用$getJSON方法调用的 php 页面:
这是获取用户.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);
问题是...为什么它每次都返回未定义的对象?代码似乎是对的,有什么想法吗?
由于您正在获取对象数组,因此您必须提及data
的索引。即data[0].avatar
$.getJSON( 'getuser.php',{ id: user }, function(data) {
callback = data[0].avatar
alert(callback);
});
我不确定,但请尝试在回显之前将标头设置为 JSON 对象,如下所示:
header('Content-type: application/json');
echo json_encode($row_set);
只有在执行回调函数后,您才能访问数据:
$.getJSON( 'getuser.php',{ id: user }, function(data) {
// now it’s available
console.log(data);
});
// now it’s not
这称为异步编程,如果这对您来说是一个新概念,请在SO上进行搜索。
相关文章:
- 正在将数据主题添加到所有项目
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- 如何将getJson的响应保存在全局变量中
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 我需要为我的朋友在这个项目上提供帮助
- 如何从 HTML 查询中删除项目
- 在Meteor项目中安装并包含npm模块后出错
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 将单击事件添加到附加的项目中
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 在javascript中搜索项目列表的性能
- 如何将本地依赖项添加到npm项目中
- angularjs移除焦点上的活动类并添加到下一个项目
- $.getJSON 返回了选定的项目
- 如何检查url项目是否在一个getjson列表的索引在javascript