原生AJAX案例浏览器报错:Cross origin requests are only supported for protocol

这篇具有很好参考价值的文章主要介绍了原生AJAX案例浏览器报错:Cross origin requests are only supported for protocol。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

报错信息如下:

原生AJAX案例浏览器报错:Cross origin requests are only supported for protocol

代码如下:

<!DOCTYPE html>
<html>
<body>

<div id="demo">
<h1>XMLHttpRequest 对象</h1>
<button type="button" onclick="loadDoc()">更改内容</button>
</div>

<script>
function loadDoc() {

  const myHttp = new XMLHttpRequest();

  myHttp.onload = function () {
    //响应
    document.getElementById("demo").innerHTML = this.responseText
  };

  myHttp.open("GET", "./demo/aa.txt",true);

  myHttp.send();
}
</script>

</body>
</html>

解决方案:

查询到原因是:

在浏览器打开本地的html文件, 上面请求的模型资源文件是一个本地文件, 协议是file://,如果是在服务器启动的话,则使用的是http或者https协议。
出于安全性考虑, Chrome默认禁止了这种用法,file协议和http/https协议不同,会被Chrome认为是跨域访问,所以会报被CORS(Cross-Origin Resource Sharing,跨域资源共享)的安全策略阻止。

如果是部署到服务器上面,或者是自己在vscode里面通过插件Live Server打开,都是没有问题的
首先声明,这种方式只是暂时的,浏览器一经关闭则不起作用了。
以谷歌浏览器为例
首先,找到你谷歌浏览器浏览器安装的位置,一般默认安装的位置C:\Program Files\Google\Chrome\Application
然后在该目录打开命令行,直接在文件夹导航栏输入cmd,敲回车

或者直接进入命令行,cd进入安装目录下:

输入命令:

chrome.exe --disable-web-security --user-data-dir=C:\MyChromeUserFata

原生AJAX案例浏览器报错:Cross origin requests are only supported for protocol

 打开浏览器后,将要运行的html文件拖入浏览器进行访问

原生AJAX案例浏览器报错:Cross origin requests are only supported for protocol

 可以正常访问了~

参考链接:原文链接:https://blog.csdn.net/pink_cz/article/details/126896190

 文章来源地址https://www.toymoban.com/news/detail-475524.html

到了这里,关于原生AJAX案例浏览器报错:Cross origin requests are only supported for protocol的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浏览器同源策略导致跨域问题 No ‘Access-Control-Allow-Origin‘ header 原因及解决方式--(后端、nginx、前端)

    目录 现象 原因 浏览器同源策略 导致结果: 解决方案 跨源资源共享(CORS) 各个端解决方法: 后端: 方式1:重载WebMvcConfigurer方法 方式2:配置监听CorsFilter 方式3:相关类上加注解 @CrossOrigin 注意事项: Nginx解决: 情况1: 前端解决: 本人身份:后端 今天部署线上环境前端

    2024年01月23日
    浏览(56)
  • Unity打包浏览器端网页HTML(WebGL)以及部署到Tomcat浏览器访问报错问题解决

    Unity 默认打包是 PC 端客户端程序,想要打包浏览器可以访问的 WebGL 网页,需要修改一些配置。 我使用的 Unity 版本是 2021.3.24f1 。 1.1 点击 File —— Build Settings... 1.2 点击 Add Open Scenes .把全部场景加入 Scene In Build 列表中 网上说不全部加进去会找不到需要跳转的场景,我还没涉

    2024年02月16日
    浏览(56)
  • 浏览器缓存引发的odoo前端报错

    前两天,跑了一个odoo16项目,莫名其妙的前端报错, moment.js 报的错, 这是一个时间库,不是我自己写的代码,我也没做过任何修改,搞不清楚为什么报错。以为是odoo的bug,所以从gitee下载了odoo16最新的代码,测试了一下还是报错。 后来换成了一个非常老的odoo16版本,这回不

    2024年02月02日
    浏览(57)
  • nginx部署前端项目后刷新浏览器报错404

    问题: Vue项目打包部署Nginx服务器后,刷新页面后出现404的问题。 原因: 加载单页应用后路由改变均由浏览器处理,而刷新时将会请求当前的链接,而Nginx无法找到对应的页面。 解决:在Nginx配置文件nginx.conf中加入如下配置:  try_files $uri $uri/ /index.html; # 变量解释 try_fil

    2024年02月12日
    浏览(46)
  • 用谷歌浏览器打开本地unity webgl报错

    unity打包webgl,双击index.html,用谷歌浏览器打开,报错: Failed to download file Build/Test4_Build_WebGL.framework.js.unityweb. Loading web pages via a file:// URL without a web server is not supported by this browser. Please use a local development web server to host Unity content, or use the Unity Build and Run option. 可以把文件放到

    2024年02月11日
    浏览(69)
  • 使用selenium打开浏览器自动关闭及报错问题

    目录 1.问题 2.解决方案 3.安装后可能出现浏览器报错 \\\'msedgedriver\\\' executable needs to be in PATH 4.此时浏览器正常打开并不会出现闪退问题 安装python后,在运行Selenium的时候遇到一个问题,执行完程序,浏览器自动关闭了,我在程序中也没有写driver.quit()方法。代码如下: 当前seleni

    2024年02月17日
    浏览(61)
  • postman,浏览器测试接口正常,HttpClient 调用就报错

    一次奔溃的经历 事情是这样的:第三方提供了一个接口需要对接,我就对接了,测试环节的时候怎么都调不通,各种排查,各方人员都动员了起来,就是没有找到问题,下面把问题报错的原因呈上: 就是报错 508 ,返回一个空的 Response body. 刚开始出现这个问题,我怀疑是不

    2024年02月01日
    浏览(40)
  • Vue2-浏览器本地存储(WebStorage)及完善TodoList案例、组件自定义事件及完善TodoList案例

    🥔:山不向我走来,我便向它走去 更多Vue知识请点击——Vue.js 存储内容大小一般支持5MB左右(不同浏览器可能还不一样) 浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。 1.相关API (1) xxxxxStorage.setItem(\\\'key\\\', \\\'value\\\'); 该方法接受一个键和值作为参

    2024年02月12日
    浏览(55)
  • Python flask跨域支持(Access-Control-Allow-Origin(CORS)跨域资源共享(访问控制允许来源:允许指定的来源进行跨域请求)浏览器同源策略、OPTIONS预检请求

    浏览器的同源策略(Same-Origin Policy)限制了跨域请求,如果不进行特殊处理,跨域请求将被浏览器拦截。 接口支持跨域能够允许浏览器跨域请求不被浏览器拦截。 下面是跨域请求的一些影响、优点和缺点: 优点 允许不同域名下的应用程序进行数据交互,提高了系统的灵活性

    2024年02月11日
    浏览(44)
  • 解决浏览器 require is not defined 的报错问题

    在node环境中引入了一些包,用webpack打包后放在浏览器环境中,浏览器报错 require is not defined 。 这是因为 require 是node环境下的CommonJs,而 import 是浏览器环境下的ESModule。ESModule不认识require。 require 是node的一个私有的全局方法。 那就让打包出来的代码别有require,换句话说,

    2024年02月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包