【发布时间】:2015-10-27 05:48:16
【问题描述】:
这可能是一个重复的问题,但我已经梳理了 stackoverflow 并且无法解决此问题。我们在 c# 中有一个自定义后端,在 angularjs 中有一个前端,试图发出一些 http 请求(GET、POST、PUTT、DELETE)。我们的后端在端口 33805 上运行,前端在 8080 上运行。我已经验证了实际代码没问题。 GET 调用工作正常。当我尝试拨打其他电话时,我们会遇到问题。这是 POST 请求的标头:
OPTIONS /api/users/HTTP/1.1
**Client**
Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8 User-Agent:Mozilla/5.0(Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrone/44.0.2403.107 Safari/537.36
**Miscellaneous**
Access-Control-Request-Headers: accept, content-type
Access-Control-Request-Method: POST
Origin: http://localhost:8080
Referer: http://localhost:8080/VM/?newPassword=NewPassword3&rePassword=NewPassword3
**Transport**
Connection: keep-alive
Host: localhost:33805
这是响应的标头:
HTTP/1.1 405 Method Not Allowed
**Cache**
Cache-Control: no-cache
Date: Tue, 04 Aug 2015 16:00:31 GMT
Expires: -1
Pragma: no-cache
**Entity**
Content-Length: 76
Content-Type: application/json; charset=utf-8
**Miscellaneous**
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcZGVyaWNrM1xEb2N1bWVudHNcd29ya3NwYWNlXFZlbmRvck1hbmFnZW1lbnRTZXJ2aWNlc1xWZW5kb3JNYW5hZ2VtZW50U2VydmljZXNcYXBpXHVzZXJzXA==?=
**Security**
Access-Control-Allow-Headers: AUTHORIZATION, X-CLIENT-ID, X-CLIENT_SECRET
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: *
我只是想向系统添加一个用户。如果它有助于解决我在 chrome 上的控制台中遇到的错误:
XMLHttpRequest 无法加载 http://localhost:33805/api/users/。 HTTP 状态码 405 无效
我再次知道关于 CORS 和设置它有很多问题,但我觉得我已经全部关注了它们,但仍然不确定发生了什么。谢谢
【问题讨论】: