DataService已启用CORS,但我仍然看到401未经授权的错误(选项)

时间:2018-07-19 15:14:06

标签: cors preflight dataservice

从原始问题改写

我有一个GET请求正在调用我的OData DataService。

现在,在发出请求时,我在网络调试器中看到以下错误:

HTTP OPTIONS 401 Unauthorized text/html

事实上,我确实看到Access-Control标头都按预期存在:

Access-Control-Allow-Headers: content-type, accept
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Origin: http://mydomain:port

现在,尽管看起来一切正确,但我仍然看到上述错误(飞行前选项请求期间出现401未经授权的错误)。

我在这里做什么错了?

1 个答案:

答案 0 :(得分:1)

“ 401未经授权”错误与CORS无关(直接)。

浏览器正在发出OPTIONS请求,服务器在说(完全不允许;完全不只是来自JavaScript)不允许这样做。

在响应中也发送CORS标头的事实无关紧要:CORS的要求是飞行前响应为200 OK。


可能发生的事情是您有一个需要身份验证的API。也许是用户名和密码。也许是饼干。也许别的东西。您应该知道这是您的API。

浏览器不会在预检请求中发送这些凭据。

您需要配置服务器,以便OPTIONS请求不需要凭据。