如何在 Jquery 中使用 JSON?
Posted
技术标签:
【中文标题】如何在 Jquery 中使用 JSON?【英文标题】:How to use JSON with Jquery? 【发布时间】:2010-10-05 15:59:56 【问题描述】:我正在开发一个应用程序,它会向我服务器上的 php 脚本发出 POST ajax 请求。该脚本将查询数据库并以数组的形式返回一行记录。 (每行一个数组,包含 id、title 等元素)。然后我想使用json_encode()
来编码这个数组,并将它传回javascript,它会用它来显示记录。
1) 如何将 JSON 编码的字符串返回到 javascript? 2) javascript 将如何遍历行并访问它们的字段?
【问题讨论】:
【参考方案1】:要使用 jQuery 获取 JSON,只需使用 jQuery.getJSON()。或者,您可以使用任何其他 AJAX 工具,然后只需 eval() json 即可获取 javascript 对象。
要遍历一个数组,我通常使用jQuery.each():
var recordList = yourMethodToGetRecordListWithAjax();
jQuery.each(recordList, function()
alert(this.Name); // For example
);
【讨论】:
您的回答中有一个小错字,jquery.each 应该是 $.each。除此之外效果很好:) 这是我的代码:$.getJSON("getData.php",data,myFunctionToLoopThroughResults); $ 是 jQuery 的快捷方式 - 我更喜欢为 each() 之类的“静态”事物编写 jQuery,而将 $ 用于查询之类的“非静态”事物,因为我相信它可以提高可读性。跨度> 但这真的取决于你和你的个人品味。 我尝试使用 jquery,但它在 firebug 中给了我一个错误,所以我不知道【参考方案2】:1) 在 php 脚本中:
$return["foo"] = "bar";
$return["blah"] = "bleg";
print json_encode($return);
2) 在javascript中:
$.ajax(
type: "POST",
url: URL,
cache: false,
data: values,
dataType: 'json',
success: function(json)
var foo = json.foo;
if (json.blah == "bleg")
// do stuff
// end success function
); // end ajax call
【讨论】:
【参考方案3】:您可以通过使用 application/json 的 Content-Type 回显将 JSON 编码的字符串返回给 JS。
其余的请参见上面的答案。
【讨论】:
以上是关于如何在 Jquery 中使用 JSON?的主要内容,如果未能解决你的问题,请参考以下文章
如何在laravel中使用json将json数组打印到jquery表?
如何使用 jquery 在 html 中显示我的 json 结果?