【发布时间】:2009-12-10 04:23:21
【问题描述】:
我想对 php 文件进行 ajax 调用,该文件在 json 中返回用户信息,然后获取该数据并将其放入对象属性中
示例:
System = {
prop1= ''
}
我只想覆盖 prop1 属性
我使用 jquery 进行 ajax 调用
【问题讨论】:
-
你的 JSON 长什么样,你想达到什么结果?
标签: javascript jquery json object
我想对 php 文件进行 ajax 调用,该文件在 json 中返回用户信息,然后获取该数据并将其放入对象属性中
示例:
System = {
prop1= ''
}
我只想覆盖 prop1 属性
我使用 jquery 进行 ajax 调用
【问题讨论】:
标签: javascript jquery json object
在 PHP 中设置 JSON 输出的最简单方法是简单地使用 stdClass() 对象并在其上调用 json_encode()。
$obj = new stdClass();
$obj->name = 'user name';
$obj->prop1 = 'property 1';
echo json_encode($obj);
从 Ajax 调用收到此消息后,您将拥有一个带有 name 和 prop1 属性的 javascript 对象。
如果您想用从 Ajax 调用中获取的属性替换现有对象的属性,则必须手动完成,即。检查所需属性的 JSON 结果,并将其设置在现有对象上。解决方法是仅在 JSON 中输出您想要的属性,并通过迭代获取的 ajax 对象来使用它们。示例:
for(prop in fetchedAjaxObject) {
existingObject.prop = x.prop;
}
编辑
对于您下面的评论,听起来您只是想从 JQuery 调用的结果中获取 JSON 对象?
在这种情况下,您只需为 ajax 调用的“成功”属性设置一个处理函数。结果自动传递给处理函数。 JQuery docs 中有示例,但这里是一个基本的示例:
$.ajax({
url: 'www.example.com',
success: function(data) {
//data is your JSON object
yourObject.prop = data.prop1;
}
});
【讨论】:
dataType:"json",或者更好,只需使用getJSON。