EnT*_*ERy 6 ajax jquery cross-domain http-headers
我正在调查跨域问题,我有一些REST服务调用.Chrome说: Access-Control-Allow-Headers不允许请求头字段x-requested-with 这是我从网络 - >标题选项卡获得的:
Request URL: rest_url_on_other_domain
Request Method:OPTIONS
Status Code:200 OK
Request Headers:
Access-Control-Request-Headers:Origin, x-requested-with, content-type, accept
Access-Control-Request-Method:POST
Origin:http://localhost:8080
Response Headers
Access-Control-Allow-Headers:Content-Type, Accept
Access-Control-Allow-Methods:GET, POST
Access-Control-Allow-Origin:*
Access-Control-Max-Age:1728000
Cache-Control:no-cache, no-store
Connection:keep-alive
Content-Length:0
Date:Fri, 30 Dec 2011 11:29:12 GMT
Expires:-1
Pragma:no-cache
Server:nginx/1.0.2
有人可以解释这个HTTP标头吗?有什么问题 - 服务器上的某些标头检查失败或客户端(浏览器)上的某些标头检查失败.这个Access标题的想法是什么?用简单的词语详细解释,只是为了得到我自己学习的其余部分.提前致谢!
mon*_*sur 11
您所看到的是跨源资源共享预检请求.这种请求的请求方法是OPTIONS.这是浏览器用于请求发送实际请求的权限的请求.您可以在此处了解更多信息:http://www.html5rocks.com/en/tutorials/cors/
在这种特殊情况下,浏览器要求一堆标题(在Access-Control-Request-Headers标题中).现在,作为响应,Access-Control-Allow-Headers标头应包含所有请求的标头.如果有多个请求的标头,浏览器不会抛出任何异常.在此示例中,您的响应标头应如下所示:
Access-Control-Allow-Headers: Origin, x-requested-with, content-type, accept
所有其他响应标头看起来都不错.一旦服务器发送此响应,浏览器将发送第二个请求,这是对数据的实际请求.
| 归档时间: | 
 | 
| 查看次数: | 12717 次 | 
| 最近记录: |