Ajax, CORS, null domain



我可以通过ajax从文件系统(无服务器/空域)打开的html文档连接到启用cors的(PHP)服务器吗?我想亲自确认这一点,但我目前没有访问服务器的权限,我可以测试这个

我在一个项目上有一些半开发的代码,即使从文件系统打开时也需要能够通过ajax连接到服务器,我只是想确认这个概念在我花更多的时间完成我的工作之前有效

可以,只要服务器允许AJAX请求方法和来源,在其Access-Control标头中指定。

"Access-Control-Allow-Origin": "*"
"Access-Control-Allow-Methods": "GET,PUT,POST,DELETE,PATCH,OPTIONS"
"Access-Control-Allow-Headers": "Content-Type,Authorization"

禁用Authorization检查:

"Access-Control-Allow-Headers": "*"

你还需要禁用某些浏览器的网络安全检查,当你打开文件的URL,在Chrome中,例如:

$ google-chrome --disable-web-security

Safari对CORS有更严格的要求,所以也许你需要添加更多允许的头(取决于你的请求)。在Safari中,我们需要在Safari浏览器开发人员菜单中设置Disable Cross-Origin Restrictions

还值得一提的是,<iframe>CORS请求将被允许,即使没有禁用CORS在浏览器中,因为元素是沙盒(不能从主机URL内查询)。

最新更新