交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https

时间:2017-05-12 11:16:13

标签: javascript xml google-chrome google-chrome-extension

我正在使用chrome和IE来解决这个问题。我开发了HTML播放器,因为我使用XML来加载该播放器内的数据。所有页面都是通过XML访问的。当我使用任何服务器在播放器中加载数据时工作正常。我现在使用WAMP服务器。但现在我正考虑将其作为离线版本并将其写入CD。但是当我在没有服务器的情况下直接打开我的player.html文件时,XML数据不会加载。在控制台中显示以下错误。

XMLHttpRequest无法加载file:/// C:/wamp/www/TTT_BR/english.xml。交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https。

4 个答案:

答案 0 :(得分:17)

您必须在服务器中运行您的应用程序,使用节点js

1-安装NodeJS //提示:如果您使用的是Mac,则需要安装和使用Homebrew

2-打开您最喜欢的终端模拟器

2-运行:npm install http-server -g

安装http-server

3-运行:http-server 'path/to/your/angular/root/directory' -o

启动http-server

最后一个命令 - 特别是-o标志 - 应该打开一个浏览器窗口:localhost:8080

或//使用cd查找目录应用程序
并使用此命令:http-server . -o

""表示您当前的目录

你可以看到:https://teamtreehouse.com/community/i-am-not-able-to-load-my-json-file

答案 1 :(得分:6)

为了测试/开发目的,最简单的解决方案是使用firefox浏览器。

答案 2 :(得分:1)

默认情况下,几乎所有人在Mac / Linux上都具有python。谁做的,很容易就能得到。

python -m SimpleHTTPServer 将为您提供本地服务器@ http://localhost:8000。 从那里,您可以访问想要用于应用程序的任何文件。

注意:对于Python 3.0+版,请使用python -m http.server

答案 3 :(得分:1)

或者您可以在XAMPP控制面板中运行Web服务器,例如Apache和MySQL。将您的文件夹放在/ xampp文件夹内的/ htdocs内,然后使用localhost在浏览器中运行代码。