【发布时间】:2015-02-14 13:15:37
【问题描述】:
我正在尝试使用 $resource 从 REST Web 服务获取数据。
这是我的代码:
return $resource('http://serverURL', {}, {
getQuartiers: {
method: 'GET',
headers: {
'Authorization': 'Basic base64login:pseudostring',
},
},
});
问题在于,对于这样的标头,它是一个发送的选项请求,我收到错误 401 Unauthorized。 如果我删除标题,这是一个 GET 请求。 但我需要标题来发送我的授权字符串!
否则 web 服务是好的,或者通过 chrome 直接进入 url => 带有 login/pwd 的弹出窗口 => json 格式的正确数据 或使用邮递员 chrome 扩展,它发送一个 GET 请求。
怎么了?
【问题讨论】:
-
您的标头请求似乎没问题,我在我的 web api 项目中使用了类似的东西。我的问题在于您的 Web 服务器,而不是您的 JS 代码。检查您的后端代码。
-
去看看 Cors。 w3.org/TR/cors。那是你的问题atm。它是获得 401 的预检。
-
由于使用带有 OPTION 请求的邮递员工作正常,我认为这不是服务器配置问题!?
标签: javascript angularjs web-services rest cors