ajax跨域问题

为什么本地电脑写的ajax请求同个文件夹的文件算跨域图片描述

图片描述

在网上查到的解决方法是:给浏览器添加启动参数 --allow-file-access-from-files,经过测试有效,但不懂为什么

阅读 4.3k
8 个回答

file方案的页面办法发起ajax请求的。。。
因为ajax的原理使用利用浏览器提供的API进行HTTP/S请求,而file方案是直接从本地硬盘获取的文件,没有任何网络实现。
另外,这个不叫跨域。。。

在使用ajax之前 你应该搭建一个服务器 要不然就会有问题 因为ajax请求的时候进行的是http://或者https://这种请求

clipboard.png

你这种文件目录的请求方式 ajax是不支持的

看你的代码 应该是用sublime写的吧 改用webstrom或者hbulider 它会帮助你自动开一个服务器 或者 你也可以用Firefox打开

要看你请求的url是什么

二级域名、端口、协议必须与主页面完全相同,否则算跨域。但同文件夹下,我觉得你还是贴图上来看看什么情况比较好吧。

chrome对file://的很多东西都有限制,建议你随便搭个本地环境就没事了,chrome自己的APP商店里就有,我记得叫啥Web Servers的吧,装好以后打开再设置下文件夹就行了。

搭一个web server。apache、nginx、使用webStorm编辑器都可,不然会有很多限制,浏览器不同也有区别。

自己搭建本地服务或者基于编辑器搭建。我个人使用的是webstorm,激活码可以去万能的淘宝(土豪还是建议官网去买,毕竟人家开发的工具确实是不错)。

自己搭一个服务器就好了,chrome对本地html有限制。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题