Sta*_*tec 0 same-origin-policy cors
嗨,我正在尝试开发一个可以访问本地文件和http
. 页面本身是在本地加载的,但这会向 Web 服务器进行 ajax 调用。
有没有办法在不违反同源策略的情况下做到这一点?
我知道有很多方法可以禁用同源策略,但我正在寻找一种合法的方法,因为我不想每次都传递命令行标志。
此外,在 Chrome 上,每次传入这些标志时都会出现一个相当烦人的弹出消息。
有没有解决的办法?
你控制网络服务器吗?如果是这样,这可以通过添加 CORS 标头和运行本地 http 服务器的组合来实现。
您可能知道,CORS 不支持本地 file:// 访问。但是,如果您在本地运行一个简单的 http 服务器,您可以通过 HTTP 提供那些非常相同的文件。CORS 很乐意支持来自本地主机的跨域 HTTP 请求。
首先,您需要以某种方式提供本地文件。有许多简单的 http 网络服务器就是为了这个目的。其中一种方法是 Python 的 SimpleHTTPServer。如果您安装了 Python,您可以通过运行以下命令来启动一个为当前目录提供服务的本地网络服务器:
python -m SimpleHTTPServer 8080
Run Code Online (Sandbox Code Playgroud)
其次,您需要添加http://localhost:8080
到远程 Web 服务器上的 Access-Control-Allow-Origin 标头列表中。
注意:将 localhost 添加到生产服务器的允许来源列表中可能是一个坏主意。服务器应该只为他们信任的网页或真正公开的数据绕过浏览器的同源策略。
归档时间: |
|
查看次数: |
8522 次 |
最近记录: |