小编典典

允许在Safari和Chrome中进行跨域请求?服务器响应与命令行参数

ajax

我正在尝试在Windows上使用Safari进行跨域请求。我的Safari版本是5.1.2。

这是一个经典的问题。我在很多地方都读到Chrome和Safari允许跨域请求,只要Server用响应中的followin标头响应

Access-Control-Allow-Origin: *

但是,他们都没有回答我的问题。

即使我从服务器发送回必要的标头,Chrome和Safari在执行跨域AJAX请求时仍遇到问题。

我终于用“ –disable-web-security”运行了Chrome。然后它起作用了。

我的问题:

1)我如何使用Safari?我是否使用类似的命令行参数?

2)更重要的是,有人可以告诉我默认情况下Chrome和Safari是否允许跨域功能,只要服务器响应标头即可,还是我必须确保

a)服务器以标头响应

b)以适当的参数启动浏览器。


阅读 392

收藏
2020-07-26

共1个答案

小编典典

我发现了问题。阅读有关CORS的更多信息有助于html5rocks.com/en/tutorials/cors。我意识到我的请求正在触发预检请求(OPTIONS),并且服务器未设置为正确处理这些请求。引起预检请求的原因是因为我使用的是JQuery,并且正在向请求添加自定义标头。我修改了代码以防止添加此额外的标头,并且我的请求不再需要预检请求。现在,我不必禁用Web安全,它可以正常工作。

2020-07-26