1

我尝试了 Yelp 开发者网站上的 JavaScript 示例。一切正常,但我想知道如何将 JSON 数据附加到 html 列表(ul)。该列表应包含我镇上的餐馆。有人知道怎么做这个吗?

PS PHP 也可以。

编辑: 谢谢你的回答,但它仍然不起作用。我无法为您提供更多详细信息,因为 Yelp API 的文档记录很差,而且我是 JSON 和 PHP 的新手。

4

2 回答 2

0

如果 JSON 对象作为 Ajax 请求的一部分返回,您将需要类似这样的内容:

$.post("yourajaxrequest.php", //calls .php file and transmits data via $_POST
                {
                    //variables required by the PHP file go here
                },
                //the function to perform when an object is returned from .php file
                function(toreceive){
                    var obj = JSON.parse(toreceive);
                    var first = obj.returnone;
                });

如果不阅读 Yelp 文档,我不确定您将如何从 Yelp 接收对象,但该JSON.parse()方法是您应该采用的解码对象的方法。

将对象解析为变量后,可以通过调用来分配对象的元素object.*insert array value here*;

这通常会在 PHP 中声明为:

$toencode = "The first string to be encoded";
$tosend['returnone'] = $toencode;
echo json_encode($tosend);
exit;

然后,您可以<ul>使用附加到 a.append

<html>
<head>
</head>
<body>
    <ul id="list">
    </ul>
</body>
</html>

在你的<script>

$('#list').append('<li>'+first+'</li>');

没有任何示例代码或阅读 Yelp 文档,就没有更多工作要做。

希望能帮助到你。

**编辑为在第一行代码中添加右括号和分号。

于 2013-03-16T11:34:44.777 回答
-1

假设 api 调用的输出是 ["blah", "blah", "blah", "blah"]

$("#container").append("<ul>");

$.ajax({
  // options go here

  success: function(datas){
    for(var i in datas){
      var data = datas[i];
       $("#container ul").append("<li>"+data+"</li>");
    }
  }
});

演示: http: //jsfiddle.net/cDU52/1/ - 已修复

阅读:http ://api.jquery.com/append/

阅读:如何以对象为成员循环遍历纯 JavaScript 对象?

于 2013-03-16T11:25:05.540 回答