(原因:CORS头'Access-Control-Allow-Origin'不匹配'(null)')
我对AngularJS和基于令牌的身份验证完全陌生。其实我想用AngularJS框架作为我的前端,而API作为后端。因此,我遵循了一些来自互联网的教程,并附上我的代码https://github.com/mmSebastian/angularjsWebAPI。(原因:CORS头'Access-Control-Allow-Origin'不匹配'(null)')
当我尝试登录我的web应用程序,我面对下面的错误在我的浏览器:
- 火狐
跨来源请求阻止:同源策略不允许读的远程资源http:// localhost:50987 /令牌。 (原因:CORS头'Access-Control-Allow-Origin'不匹配'(null)')。
- 铬
无法加载的http://本地主机:50987 /令牌:在 '访问控制允许来源' 标头包含多个值 '*,*',但只有一个是允许。原因“http:// localhost:52386”因此不被允许访问。
- 边缘
SEC7128:多访问控制允许来源头部没有允许CORS响应。
但是,当我通过邮递员运行http:// localhost:50987/token时,它工作正常。
我已经尝试过下面的链接,但仍然无法解决它。请帮助。
(交叉原点)需要来自浏览器制成具有完全相同的域服务器的HTTP请求。
例如从本地主机:8080到本地主机:8080的请求将工作
例如,本地主机:8080到localhost:8081的请求将不起作用
而且您将收到CORS错误。这只是由浏览器执行,因此POSTMAN将正常工作。
要解决此问题,添加您的服务器例如: -
Access-Control-Allow-Origin: *
您可能需要您的服务器上添加其他接入控制 - 头在相关CORS标头。
或者,您可以让您的Web服务器将某些请求直接代理到您的后端,从而绕过浏览器中的CORS实施。
感谢您的信息。我添加了相关的CORS头文件,但似乎不起作用。我在https://github.com/mmSebastian/angularjsWebAPI附上我的代码。你想介意纠正我在哪里做错了吗? – mmSebastian
欢迎来到StackOverflow,我强烈建议你通过[this](https://stackoverflow.com/help/mcve)来改善你的问题,从而增加获得正确答案的机会。 – McMutton
您能告诉我们您的客户端发送到服务器的Origin头的价值是什么? – McMutton
@McMutton我很抱歉我的语言。客户端将是http:// localhost:52386,而服务器将是http:// localhost:50987。可能我不能很好地表达,因此我附上了代码。 – mmSebastian