【问题标题】:XMLHttpRequest issue: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https [duplicate]XMLHttpRequest 问题:跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https [重复]
【发布时间】:2020-07-02 07:43:58
【问题描述】:
试图从存储在同一目录中的本地 JSON 文件中获取一些数据,我得到了这个:
访问 XMLHttpRequest 在
'file:///C:/Visual%20Studio%20Code/Practice/customer.json' 来自原点
“null”已被 CORS 策略阻止:跨源请求仅
支持协议方案:http、data、chrome、chrome-extension、
https。
app.js:14 获取文件:///C:/Visual%20Studio%20Code/Practice/customer.json
网络::ERR_FAILED
谁能提出解决方案?
【问题讨论】:
标签:
javascript
xmlhttprequest
cors
【解决方案1】:
某些浏览器禁止本地文件(通过file: 方案加载的资源)中的任何类型的ajax。您似乎正在使用其中之一。
解决方案是安装本地网络服务器并通过http: 加载资源。一些 IDE 直接或通过扩展包含一个最小的网络服务器。但如果没有,Apache 或 nginx 的本地安装相当容易安装,或者您可以使用 Express.js 或 Koa.js 或类似的方式自行安装。
这并不是浏览器处理file: 资源与http:/https: 资源的唯一细微差别,因此在进行Web 开发时,最好使用本地Web 服务器,而不是file: .