【问题标题】:How to make cross origin get request via angularjs http using food2fork api如何使用 food2fork api 通过 angularjs http 进行跨域获取请求
【发布时间】:2016-06-03 10:46:28
【问题描述】:

我只是想在 Angular 应用程序中使用 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。有任何想法吗?

【问题讨论】:

    标签: javascript jquery angularjs json jsonp


    【解决方案1】:

    请求的资源上没有“Access-Control-Allow-Origin”标头

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

    【讨论】:

    • 如上所述,我在客户端做所有事情。还有其他建议吗?
    • 我是说配置你的服务器端,而不是客户端。
    猜你喜欢
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    相关资源
    最近更新 更多