首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过jQuery进行API调用的问题

通过jQuery进行API调用的问题
EN

Stack Overflow用户
提问于 2013-11-14 00:11:07
回答 1查看 225关注 0票数 1

我正在尝试对statuspage API (http://doers.statuspage.io/api/v1/)进行API调用。我将Authorization标头设置如下:

代码语言:javascript
复制
$(function() {
    $.ajax({
        url: "https://api.statuspage.io/v1/pages/mypageidhere/incidents.json",
        type: "GET",
        beforeSend: function (xhr) {
            xhr.withCredentials = true;
            xhr.setRequestHeader("Authorization", "OAuth authidhere");
            xhr.setRequestHeader("foo", "bar");
        },
        dataType: "json"
    });
});

我注意到的是,当我在Fiddler上查看请求时,没有设置头部。我感觉这个问题是因为跨域策略,因为我可以看到我为任何本地调用设置的身份验证头。

有没有人可以指导我到底该怎么做才能成功地进行这个api调用。我听说现在的浏览器是如何支持CORS的,但如果有人能向我解释我将如何利用这种支持,我将非常感激。

EN

回答 1

Stack Overflow用户

发布于 2013-11-14 01:14:58

您可能会遇到跨域策略错误。您请求的资源必须有一个" access -Control-Allow-Origin“头,允许您通过ajax访问它。

此外,根据Mozilla的说法(参见“带证书的请求”),除非头部中存在Access-Control-Allow-Credentials: true,否则“带证书的”ajax调用将失败,当我试图在Chrome的开发人员工具中发出请求时,我看不到这一点。

在上发布新信息后的更新

由于文档中没有提到ajax,但提到了cURL,我认为您别无选择,只能在后端实现它。幸运的是,这并不困难。

在后端实现发出cURL调用的功能,并让它简单地打印响应。然后,您仍然可以在前端使用ajax,但不是调用外部URL,而是调用这个新的后端特性。

cURL在大多数语言中都有现成的版本。Here is an example in the PHP documentation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19958737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档