chrome浏览器处理本地Ajax跨域

chrome浏览器下

项目开发过程中,用到了Ajax异步请求。若将项目放在本地服务器中,通过localhost访问文件,不会报错。若直接通过file://访问文件就会报错。
报错信息:
XMLHttpRequest cannot load file:///C:/wamp/www/ejs/abc.ejs. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
这是因为直接通过file://访问文件,Ajax本地跨域。浏览器为了安全性考虑,默认对跨域访问禁止。

解决方法1:将项目放在本地服务器中,通过localhost访问文件。
解决方法2:给浏览器传入启动参数(allow-file-access-from-files),允许跨域访问。
(1)直接在快捷键图标右键,点击属性,修改目标(在后面加上–allow-file-access-from-files,注意–前面有一个空格),这样就可以正确访问了。

chrome浏览器处理本地Ajax跨域_第1张图片

(2)也可以通过cmd控制台,输入
“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –allow-file-access-from-files

这样就可以正确访问了。

其他浏览器:

360安全浏览器、360极速浏览器:设置同chrome浏览器
IE浏览器、火狐浏览器:试验了一下,似乎浏览器没有对跨域访问禁止。

你可能感兴趣的:(前端开发)