AJAX 将数据返回给 jquery
AJAX return data to jquery
我有一个ajax调用:
jQuery.ajax({
type: "POST", // HTTP method POST or GET
url: 'inc/functions.php?func=get_usr&id='+usr, //Where to make Ajax calls
success:function(data){
if (data.fname) {
var fname = data.fname;
//alert (fname);
$('#rname').text(fname);
}
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
}
});
数据返回:
fname: "test_fname"
lname: "test_lname"
role: "1"
问题是我可以fname
摆脱它,警报显示未定义。
这不必序列化是吗?我在另一个项目中有这个功能运行良好,但我无法弄清楚为什么它不起作用。
你没有在jQuery知道如何解析的数据结构中返回数据。 data
将是一个字符串,因此它不会具有您尝试读取的属性。
您应该改用 JSON。
由于您正在向 PHP 脚本发出请求,因此请按照以下步骤操作:
header("Content-Type: application/json");
print json_encode(Array(
"fname" => "test_fname",
"lname" => "test_lname",
"role" => "1"
));
添加数据类型:"json"似乎解决了这个问题,直到我碰巧重新扫描代码才发现我已经将其删除了。
根据您在有关响应的问题下方的评论,目前还不完全清楚data
的确切内容是什么,但也许 json 尚未解析。
您可以使用以下dataType
自动执行此操作:
jQuery.ajax({
type: "POST", // HTTP method POST or GET
url: 'inc/functions.php?func=get_usr&id='+usr, //Where to make Ajax calls
// here
dataType: 'json',
success:function(data){
if (data.fname) {
var fname = data.fname;
//alert (fname);
$('#rname').text(fname);
}
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
}
});
使用dataType: "json"
作品,我不知道我是如何忘记它的。
相关文章:
- jquery返回边距为0的绝对中心
- 如何使用jquery返回php-json数组对象
- Firefox使用JQuery返回不正确的JSON
- 当jQuery返回错误时,如何在jQuery中重新发送ajax请求
- jquery返回ajax响应和用户定义的变量到函数
- 如何从ajax调用JQuery返回数据
- 单击按钮时Jquery返回到父函数
- jQuery返回prevObject..有时
- 使用String.FromCharCode时,jQuery返回未定义的结果
- jQuery返回多个函数;不起作用
- 正在读取嵌套json,jquery返回undefined
- IE使用类jquery返回相同的最后一个单选按钮值
- 在数组中循环,jQuery返回undefined
- 从php向jquery返回jsonencode错误
- .children()不适用于jquery返回的指定索引
- HTML 复选框 Click() 使用 jQuery 返回 FALSE 或 TRUE,而不是 READONLY 或 DI
- 使用 jQuery 返回除 Drupal7 表单之外的所有点击事件的消息
- 排序 Jquery 返回的 HTML 元素
- jQuery 返回空字符串作为 ID 表示
- jQuery返回所有页面已禁用,然后启用