如何使用food2fork api通过angularjs http获取cross origin请求

时间:2016-02-22 05:28:29

标签: javascript jquery angularjs json jsonp

我只是想在一个有角度的应用程序中使用food2fork的搜索API来获取请求。现在我没有应用程序的后端,所以一切都在运行客户端,我正在运行以下(当然替换了APIKEY):

$http.jsonp('http://food2fork.com/api/search?q=turkey&key=APIKEY&callback=jsonp_callback')
.then(function(response) {
    console.log(response);
});

但是,我在控制台中Uncaught SyntaxError: Unexpected token :。我认为这是因为它期望jsonp函数而不是json。

如果我将它作为jquery getJSON运行,如下所示:

$(document).ready(function() {
var url = "http://food2fork.com/api/search?q=turkey&key=APIKEY";
$.getJSON(url,function(data) {
})

});

我得到No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8080' is therefore not allowed access. - 这可能是因为我在本地运行,但这在过去并不是问题。

如果我在浏览器中运行与url相同的请求,我只想获得json。有任何想法吗?

1 个答案:

答案 0 :(得分:0)

  

请求的资源

上没有'Access-Control-Allow-Origin'标头

您面临Cross Domain问题,您应该做的是从服务器端启用CORS(从localhost运行的服务:8080)