php – CORS预检请求返回“403 Forbidden”;后续请求然后仅在Chr
在
this question使用pluploader失败后,我现在正在尝试
FineUploader.
在阅读了CORS之后,我在IIS6服务器上实现了各种标头. 似乎发生的事情是我的脚本触发了第一个(预检)授权请求,该请求失败,但Chrome允许第二个(标准)请求无论如何发送 – Firefox没有.我认为这实际上是代表Chrome的一个错误,但至少它让我能够确定我的脚本可能正常工作. 这是Chrome和FF中的第一个(预检)请求: OPTIONS /frog/LOTS/upload/php.php HTTP/1.1 Host: staff.curriculum.local User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Connection: keep-alive Origin: http://frogserver.curriculum.local Access-Control-Request-Method: POST Access-Control-Request-Headers: cache-control,x-requested-with Pragma: no-cache Cache-Control: no-cache Access-Control …标头是我添加到IIS的标头. 以下是我的回复标题: HTTP/1.1 403 Forbidden Content-Length: 1758 Content-Type: text/html Server: Microsoft-IIS/6.0 x-powered-by: ASP.NET Access-Control-Allow-Origin: http://frogserver.curriculum.local Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: Origin,X-Requested-With,Content-Type,Accept,Cache-Control Access-Control-Allow-Methods: OPTIONS,GET,POST Access-Control-Expose-Headers: Origin,X-Requested-With Date: Mon,22 Apr 2013 15:19:20 GMT 我试图比较两个并排,但我找不到任何丢失的标题,这将导致预检请求返回403 Forbidden错误. 我没有包含我的PHP源代码,因为它是很多代码.可以说它在Chrome中运行并且文件已正确上传,因此脚本应该是正确的.唯一可能值得一提的是我有一个标题(“Content-Type:text / plain”);在我的脚本开头.将其更改为text / html对Chrome或FireFox没有任何影响. JavaScript很简单: $('#jquery-wrapped-fine-uploader').fineUploader({ request: { endpoint: 'http://staff.curriculum.local/frog/LOTS/upload/php.php' },cors: { expected: true,//all requests are expected to be cross-domain requests sendCredentials: true //if you want cookies to be sent along with the request } }); 有人可以帮忙吗?我今天在这个问题上花费了8个小时,而且我是><接近撕开我自己的脸.... !! 提前致谢, 解决方法
正如我的评论中提到的,这似乎是您的服务器的问题.出于某种原因,它拒绝了初始的OPTIONS请求.您需要查看服务器日志,以了解服务器使用403响应此请求的原因.
用户代理发送此初始OPTIONS(飞行前)请求. Fine Uploader不直接发送此请求,用户代理发送它以符合the CORS spec.如果您对CORS有特定问题,可以查看my blog post关于Fine Uploader如何处理CORS,或/并且您可以阅读this excellent MDN article on CORS. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |