我对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中找到
另外,我在同一页面上有多个业务,我如何在同一页面上多次使用此业务,但是如何在不同位置输出数据?
更新: 啊,我现在看到您的错误。businesses.reviews是一个数组(每个企业可以有多个评论),因此您必须遍历每个企业和每个企业的评论。
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>