Nie*_*nch 5 jquery google-chrome cross-domain cors
stackoverflow中已经提到了这个问题十几次,但我有一个不同的问题.
Chrome首先进行"OPTIONS"调用以获取标题.如您所见,正确的标题就在那里.

出于某种原因,Chrome不会注意到标头并取消实际请求的方式与标头根本不存在时相同.

该页实际上进行了三次调用并且很奇怪,其中一个是有效的.

所以问题是,当标题确实存在时,为什么Chrome不尊重它?我该怎么做才能调试它?
更新
我尝试添加,Access-Control-Allow-Methods所以现在OPTIONS调用的标头响应包括这些响应标头:
Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Methods:POST, GET, OPTIONS
Access-Control-Allow-Origin:*
Run Code Online (Sandbox Code Playgroud)
结果是一样的.
在服务器端设置标头
我在每个请求上设置服务器端的头文件(在Global.asax.cs Application_BeginRequest中)
Response.Headers.Add("Access-Control-Allow-Origin", "*");
Response.Headers.Add("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
Response.Headers.Add("Access-Control-Allow-Methods", "POST, GET, OPTIONS");
Run Code Online (Sandbox Code Playgroud)
在与Fiddler调查之后
我查看了原始请求和响应,发现了一些令人惊讶的错误:错误是来自应用程序的简单HTTP 500错误.可能因为HTTP 500错误不包含正确的标头,Chrome不会显示返回的错误,而是显示与标头相关的错误.
回答
总而言之,如果Chrome提供说它No 'Access-Control-Allow-Origin' header可能实际上掩盖了HTTP 500错误.这可以通过检查Fiddler中的请求和响应来确定.
Nie*_*nch 17
如果 Chrome 说它No 'Access-Control-Allow-Origin' header实际上可能掩盖了 HTTP 500 错误。这可以通过检查 Fiddler 中的请求和响应来确定。
| 归档时间: |
|
| 查看次数: |
2560 次 |
| 最近记录: |