Javascript foursquare请求加载错误

Javascript foursquare请求加载错误,javascript,foursquare,Javascript,Foursquare,嗨,伙计们,当我试图访问foursquare api以查找我正在搜索的特定餐厅的信息时,我遇到了一个小错误 Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource. 我看到的另一件事是,当我把搜索放在url中以查看出现的内容时,我会在页面上看到一些疯狂的代码 这是我现在拥有的代码 v

嗨,伙计们,当我试图访问foursquare api以查找我正在搜索的特定餐厅的信息时,我遇到了一个小错误

Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
我看到的另一件事是,当我把搜索放在url中以查看出现的内容时,我会在页面上看到一些疯狂的代码

这是我现在拥有的代码

var fourSquareMain = 'https://api.foursquare.com/v2/venues/search';
var clientID = '?client_id=5LHFTY54EP5VLMYIIVZ0OQGMNZQEM2FUKDPFFA2OJHMO0AVI';
var clientSecret = '&client_secret=2TN3GQBAX4U2GPHGMCUZWS35Y2E5E2Y4NG0YWGVGNMXEPHAW';
var fourSquareVersion = '&v=20130815';
var fourSquareLL = '&ll=' + pointItem.lat() + ',' + pointItem.lng();
var fourSquareQuery = '&query=' + pointItem.name;

var fullFourSquareQuery = fourSquareMain + clientID + clientSecret + fourSquareVersion + fourSquareLL + fourSquareQuery;

var finalFSQuery = fullFourSquareQuery.replace(/ /g, '-');

console.log(finalFSQuery);
  • 您得到的疯狂代码是“您所请求的”,它是来自foursquare api的原始json响应 2.它在URL上工作,但在脚本上不工作,因为当您在客户端站点上运行脚本时,您正在尝试跨源资源共享(CORS),出于安全原因,某些API不允许这样做。 要解决这个问题,您需要使用JSON-P,这是一个允许跨域请求的独特技巧。 一种简单的方法是使用jQuery创建AJAX请求。 在您的情况下,尝试从搜索结果中获取第一个场馆的名称

    var fourSqrUrl = "https://api.foursquare.com/v2/venues/search?ll=40.7,-74&client_id=XXX&client_secret=YYY&v=20160128"
           $.ajax({
                  url: fourSqrUrl,
                  success: function(data) {
                    $(div1).html('FourSquare Response : ' + data.response.venues[0].name);
                    }
                  });
    
    ` 为了更好地了解AJAX的工作原理以及如何读取json数据,您可能需要阅读一些关于AJAX的内容