当前位置: 首页 > 知识库问答 >
问题:

AngularJS和外部API-让它像PostMan一样工作

吴品
2023-03-14

我一直在尝试访问Angular应用程序中的sqwiggle API,并使用Postman进行测试。一切似乎都很顺利。我定义了一个BasicAuth头,对消息endpoint执行GET请求,得到了一个很好的响应。这些是请求头(来自邮递员):

Request URL:https://api.sqwiggle.com/messages
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,nl;q=0.6
Authorization:Basic [secret]
Cache-Control:no-cache
Connection:keep-alive
Host:api.sqwiggle.com
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.70 Safari/537.36

现在在我的AngularJS应用程序中,我想做同样的事情:

$http.get('https://api.sqwiggle.com/messages', {
    headers: {
        Authorization: 'Basic [secret]'
    }
}).success(function(e) {
    alert(e);
});

但这会导致以下请求标头:

Request URL:https://api.sqwiggle.com/messages
Request Method:OPTIONS
Status Code:404 Not Found
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,nl;q=0.6
Access-Control-Request-Headers:accept, authorization
Access-Control-Request-Method:GET
Connection:keep-alive
Host:api.sqwiggle.com
Origin:http://localhost:8888
Referer:http://localhost:8888/
User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53

鉴于Postman使用JS从API获取数据,在AngularJS中也应该是可能的,或者我在这里遗漏了什么?为什么Angular在OPTIONS请求中转换GET,为什么不添加Authorization头?

谢谢你的帮助

共有1个答案

邵畅
2023-03-14

尝试类似的方法,而不是使用$http.get

$http({
    method: "get",
    url: "https://api.sqwiggle.com/messages",
    headers: {
        'Authorization' : 'Basic secret'
    }
}).success(function(data) {
    console.log(data);
});
 类似资料:
  • 我正在使用一个功能组件,我需要能够使用componentDidMount()。我在网上发现,通过react钩子,可以将useEffect()用作功能组件中的componentDidMount()。然而,这并不像我想象的那样有效。我原以为在页面加载时会触发,但事实并非如此。有人知道如何让useEffect表现得像componentDidMount吗? 我试着只是简单地这样做,但它创建了一个无限循环,

  • 有没有办法让javafx中的TableView像swing中的JTable一样工作? TableView中编辑单元格内容的当前过程是: 选择单元格。 在单元格上按回车键进入编辑模式。 打字。 按回车键提交编辑。 而在jtable中要容易得多;您不必按enter键进行编辑;你可以直接编辑。 在这一点上,有没有让javafx表视图像jtable一样工作的想法?

  • 我有一个像这个图像的登录表单。 登录按钮是一个带有图标的JLabel。我想要能够按下“进入”和登录。 我已经将登录逻辑放入名为doAction()的方法中;我在login Label上有一个MouseEvent,它按预期工作,并在任何时候单击login JLabel时调用doAction()。我希望同样的事情发生在任何时候,我按下“回车”。我试过这个: 问题是,只有当我使用PasswordFiel

  • 我正在寻找一种方法,在一个微服务中有一个用于公共访问的应用编程接口,另一个用于其他私有服务的内部应用编程接口。 当然,这在不同的URL中是可能的。但看起来好像合并了swagger/open api描述页面。 公共和私有API应该有一个单独的招摇页面。来自互联网的人不能看到内部API描述。只有公共的。 有想法吗?

  • 问题内容: 在 此回购中, AngularJS与AMD的RequireJS隐含在一起。 在 此仓库中 ,AngularJS团队向AMD播种了一个 不 包含RequireJS 的AngularJS项目。 我是否在想这是错误的方式-IE正在解决不同的问题? AngularJS库现在是否支持以前从未有过的AMD? 在AngularJS项目中不再需要使用RequireJS吗? 问题答案: 是的,您可以将R

  • 我的JS应用程序正在使用wiremock来模拟后端调用。是否可以创建这样的Wiremock定义来创建回显服务(响应的正文JSON内容应该与请求的正文JSON内容相同)。