javascript - XMLHttpRequest 问题 : Cross origin requests are only supported for protocol schemes: http, 数据、chrome、chrome 扩展、https

标签 javascript xmlhttprequest cors

尝试从存储在同一目录中的本地 JSON 文件获取一些数据,我得到:

Access to XMLHttpRequest at 'file:///C:/Visual%20Studio%20Code/Practice/customer.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.

app.js:14 GET file:///C:/Visual%20Studio%20Code/Practice/customer.json net::ERR_FAILED

有人可以提出解决方案吗?

最佳答案

某些浏览器禁止从本地文件(通过 file: 方案加载的资源)进行任何类型的 ajax。您似乎正在使用其中之一。

解决方案是安装本地网络服务器并通过 http: 加载资源。一些 IDE 直接或通过扩展包含一个最小的 Web 服务器。但如果没有,Apache 或 nginx 的本地安装相当容易安装,或者您可以使用 Express.js 或 Koa.js 或类似的工具自行安装。

这并不是浏览器处理 file: 资源与 http:/https: 资源方式之间的唯一细微差别,因此当进行 Web 开发时,最好使用本地 Web 服务器,而不是 file:

关于javascript - XMLHttpRequest 问题 : Cross origin requests are only supported for protocol schemes: http, 数据、chrome、chrome 扩展、https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60786555/

相关文章:

javascript - 是否可以有选择地将 Node.js 引入到用普通 PHP/JS/CSS/HTML 构建的 Web 应用程序中?

javascript - Firestore 更新数组字段中的单个项目

javascript - 从不带时区的字符串构造 JavaScript 日期(适用于 JqueryUI datepicker)

JQuery、XmlHttpRequest 和状态代码 0

javascript - 使用 XMLHttpRequest 将代码片段提交到数据库

spring-boot - 迁移到 Spring Boot 2.0.x 时全局 CORS 配置中断

javascript - Bootstrap-select with ajax jquery 不工作

ajax - 如何将ajax请求失败链接到jqXHR状态和错误类型?

javascript - 在 angularjs 中使用 $http.post() 时出现 CORS 问题

angularjs - 405 WebAPI2 上不允许使用方法 (OWIN)