Javascript AngularJS和一个外部API—让它像邮递员一样工作

Javascript AngularJS和一个外部API—让它像邮递员一样工作,javascript,angularjs,http,web,postman,Javascript,Angularjs,Http,Web,Postman,我一直在尝试访问Angular应用程序中的sqwiggle API,并使用它进行测试。一切似乎都很顺利。我定义了一个基本的Auth头,对messages端点执行了一个GET请求,得到了一个很好的响应。以下是请求头(来自Postman): 现在在我的AngularJS应用程序中,我想做同样的事情: $http.get('https://api.sqwiggle.com/messages', { headers: { Authorization: 'Basic [secret

我一直在尝试访问Angular应用程序中的sqwiggle API,并使用它进行测试。一切似乎都很顺利。我定义了一个基本的Auth头,对messages端点执行了一个GET请求,得到了一个很好的响应。以下是请求头(来自Postman):

现在在我的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中也应该可以这样做,还是我遗漏了什么?为什么GET在选项请求中,为什么不添加授权头


感谢您的帮助

尝试类似的方法,而不是使用
$http。获取

$http({
    method: "get",
    url: "https://api.sqwiggle.com/messages",
    headers: {
        'Authorization' : 'Basic secret'
    }
}).success(function(data) {
    console.log(data);
});

建议Postman可以跨域访问,因为它是一个Chrome应用程序。我的AngularJS应用程序没有。这就解释了为什么这不起作用。那么,如果我想直接从AngualrJS调用外部API,解决方案是什么呢。
$http({
    method: "get",
    url: "https://api.sqwiggle.com/messages",
    headers: {
        'Authorization' : 'Basic secret'
    }
}).success(function(data) {
    console.log(data);
});