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:*
结果是一样的.
在服务器端设置标头
我在每个请求上设置服务器端的头文件(在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");
在与Fiddler调查之后
我查看了原始请求和响应,发现了一些令人惊讶的错误:错误是来自应用程序的简单HTTP 500错误.可能因为HTTP 500错误不包含正确的标头,Chrome不会显示返回的错误,而是显示与标头相关的错误.
回答
总而言之,如果Chrome提供了“No-Access-Control-Allow-Origin”标题,它实际上可能会掩盖HTTP 500错误.这可以通过检查Fiddler中的请求和响应来确定.
最佳答案
如果Chrome说没有’Access-Control-Allow-Origin’标题,它实际上可能会掩盖HTTP 500错误.这可以通过检查Fiddler中的请求和响应来确定.
相关文章
- google-app-engine - 没有“Access-Control-Allow-Origin”标题,具有可恢复的上传
- javascript - CORS问题:获取错误“No'Access-Control-Allow-Origin'标题存在”实际存在时
- javascript - “没有'Access-Control-Allow-Origin'标题出现”与Cherrypy错误
- angularjs - Angular - > Web Api 2:“没有'Access-Control-Allow-Origin'标题”
- javascript - MEAN堆栈Facebook授权错误:没有'Access-Control-Allow-Origin'标题?
- javascript - Apache:CORS标题'Access-Control-Allow-Origin'丢失
- jquery - $.getJSON请求中没有'Access-Control-Allow-Origin'标头
- 请求的资源ajax jquery phonegap上没有“Access-Control-Allow-Origin”标头
转载注明原文:jquery – Chrome说没有’Access-Control-Allow-Origin’标题,但标题就在那里 - 代码日志