一尘不染

尝试使用jQuery显示JSON文本数据

json

我对JavaScript的了解很少(没有),或者对使用API​​的了解很多。但是,我想在我的网站上显示一些酒店评论,这些评论通过qype.com
API提供。但是,我正在努力管理这一点。

这是我到目前为止的代码:

$(document).ready( function() {
  $.getJSON( "http://api.yelp.com/business_review_search?term=hilton%20metropole&location=B26%203QJ&ywsid=APIKEY Removed",
    function(data) {
      $.each( data.businesses, function(i,businesses) {
        content = '<p>' + businesses.reviews.text_excerpt + '</p>';
        content = '<p>' + businesses.reviews.date + '</p>';
        $(content).appendTo("#review");
      } );
    }
  );
} );

我的正文中有一个div,它要显示文本。

任何建议都收到了。

JSON可以在http://api.yelp.com/business_review_search?term=hilton%20metropole&location=B26%203QJ&ywsid=lOoGGbkYpVmTvxHlWGT2Lw中找到

另外,我在同一页面上有多个业务,我如何在同一页面上多次使用此业务,但是如何在不同位置输出数据?


阅读 194

收藏
2020-07-27

共1个答案

一尘不染

更新:
啊,我现在看到您的错误。businesses.reviews是一个数组(每个企业可以有多个评论),因此您必须遍历每个企业和每个企业的评论。

我必须更改一些内容才能使其在我的测试床上运行,但是您可以在此处看到运行此代码的示例: http :
//bit.ly/4mTxPp

yelp当前支持JSONP调用,因此您可以将代码更改为:

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script>
function showData(data) {
    $.each(data.businesses, function(i,business){
        // extra loop
        $.each(business.reviews, function(i,review){ 
            var content = '<p>' + review.text_excerpt + '</p>';
            content += '<p>' +review.date + '</p>';
            $(content).appendTo('#review');
        });
    });      
}


$(document).ready(function(){
    // note the use of the "callback" parameter
    writeScriptTag( "http://api.yelp.com/business_review_search?"+
    "term=hilton%20metropole"+
    "&location=B26%203QJ"+
    "&ywsid=lOoGGbkYpVmTvxHlWGT2Lw"+
    "&callback=showData"); // <- callback
});

function writeScriptTag(path) {
    var fileref = document.createElement('script');
    fileref.setAttribute("type","text/javascript");
    fileref.setAttribute("src", path);

    document.body.appendChild(fileref);
}
</script>
2020-07-27