浏览器默认禁止跨域请求解决办法

在chrome运行项目时、如果demo中有Ajax操作浏览器就会报一个错:
AccesstoXMLHttpRequestat’file:///C:/Users/14524/Desktop/QQ%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE%E5%99%A8/source/musiclist.json’ from origin ‘null’ has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

原因:浏览器(Webkit内核)的安全策略默认禁止了file协议访问的应用无法使用XMLHttpRequest对象(XMLHttpRequest 对象用于在后台与服务器交换数据),错误消息中也很清楚的说明了:
Cross origin requests are only supported for protocol schemes: http,data, chrome, chrome-extension, https, chrome-extension-resource.

跨域请求仅支持协议:http, data, chrome, chrome-extension, https,chrome-extension-resource

解决办法

  • 安装Server插件
    这里针对VSCode和Sublime安利一款插件。

  • VSCode
    Live Server插件,这个插件功能十分强大,不止可以解决ajax不支持file协议的问题,还可以实现在编辑器里保存修改后,页面自动刷新的功能。具体使用方法在插件安装的地方有说明,用起来也十分简单。
    在这里插入图片描述
    安装完成之后,打开html文件后,点击右下角的GoLive 即可。
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值