jos*_*lat 5 api access-control getjson
使用以下代码,我使用 Chrome 的 JavaScript 开发者控制台在该问题的标题中收到错误:
    jQuery.getJSON("http://api.yelp.com/business_review_search?term=starbucks&location=Urbana%20IL&limit=3&ywsid=XXX",
 function(data){
  jQuery.each(data, function(i,businesses){   
   jQuery("#yelpPreview").append(businesses.url);
   if ( i == (amount - 1) ) return false;
  });
 });
Run Code Online (Sandbox Code Playgroud)
完整的错误是: XMLHttpRequest 无法加载http://api.yelp.com/business_review_search?term=starbucks&location=Urbana%20IL&limit=3&ywsid=XXX。Access-Control-Allow-Origin 不允许来源http://localhost:8888 。
我使用 MAMP 作为我的本地主机。
这是 Yelp 阻止 API 访问本地主机的问题,还是我的代码中有错误?
看起来您正在使用 jQuery。jQuery 的 ajax 调用提供的数据类型的“jsonp”选项是一个更优雅的解决方案,作为一个简短的示例:
$.ajax({
    url      : 'http://api.yelp.com/business_review_search',
    dataType : 'jsonp',
    data     : {term : 'restaurant', lat : xxx, long : xxx}, // callback is not necessary
    success  : function(data) {
        // data is a normal response shown on yelp's API page
    }
});
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           5541 次  |  
        
|   最近记录:  |