javascript - 使用 file:// 协议时使用 javascript 请求文件
问题描述
我有一个小型 Web 应用程序,它使用 XML 文件中的数据进行显示。它基本上只有3个文件:
app.html
logic.js
data.xml
javascript 文件加载 XML 数据并对其进行处理:
$.get('data.xml', {}, processResult);
我希望这个小应用程序能够在使用file://
协议在本地启动时运行。但是我收到以下错误:
从源“null”访问“file:///C:/.../data.xml”的 XMLHttpRequest 已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、chrome、chrome -扩展,铬不受信任,https。
基本上我需要一种 javascript 来请求同一目录中的另一个文件的方法。这可能吗?我可以对 JS 或 HTML 文件进行任何更改,但 XML 文件来自供应商,每次修改它会很痛苦(例如,将其包装在 JSON 或 JSONP 中)。
解决方案
大多数现代浏览器都有一个安全策略,不允许您通过以下方式在 javascript 中执行某些操作file://
如果你想在本地运行你的应用程序,你可以在 node、go 或其他任何东西中编写一个简单的 http 服务器,或者只安装一个,比如https://www.npmjs.com/package/http-server
然后你可以通过http://localhost:
推荐阅读
- c# - .NET Core 2.2 在使用 Windows Auth 调用同一服务器上的 IIS 站点时收到 401 Unauthorized 响应
- postgresql - 单组,多选。需要子查询?
- android - 实时数据
- > 不是 LiveData 的子类
- >
- jquery - 如何在没有 webpack 的 es6 中导入 npm 模块?
- php - 使用 PHP 使用 XSL 上传 XML 的最佳方式
- elisp - 更新结构字段
- java - 编码的结果相同,但散列的结果不同
- php - 需要 PHP WordPress 注册表单复选框
- ios - SwiftUI 中的一排 Picker 轮子,为什么拖动滚动区域从屏幕上的 Picker 控件偏移?
- python - 尝试构建 Visual Studio Code python 解决方案时如何修复 setup.py 错误