我收到以下错误:
XMLHttpRequest cannot load file:///C:/Users/richa.agiwal/Desktop/get/rm_Library/templates/template_viewSettings.html. Cross origin requests are only supported for HTTP.
我意识到这个问题之前已经得到了解答,但我仍然没有找到解决问题的方法。我尝试从命令提示符运行chrome.exe --allow-file-access-from-files
,并将文件移动到本地文件系统,但我仍然得到相同的错误。
我感谢任何建议!
答案 0 :(得分:152)
如果您在个人计算机上的代码编辑器中编写HTML和Javascript,并在浏览器中测试输出,则可能会收到有关Cross Origin Requests
的错误消息。您的浏览器将呈现HTML并在浏览器中运行Javascript,jQuery,angularJs,而无需设置服务器。但是许多Web浏览器都是为了监视跨站点攻击而编写的,并且会阻止请求。您不希望任何人能够从您的Web浏览器中读取您的硬盘驱动器。您可以使用将运行Javascript的Notepad ++以及jQuery和angularJs等框架创建功能完备的网页;并使用Notepad ++菜单项RUN, LAUNCH IN FIREFOX
测试所有内容。这是开始创建网页的一种不错的简单方法,但是当您开始创建除布局,CSS和简单页面导航之外的任何内容时,您需要在您的计算机上设置本地服务器。
获取您的IP地址:
Command Prompt
作为Administrator
运行。右键单击Command Prompt
菜单项,然后查找Run As Administrator
ipconfig
并按Enter键。如果您没有Python,请下载并安装它。
使用“命令提示符”,您必须转到要用作网页的文件夹。
python -m SimpleHTTPServer port
其中'port'是您想要的端口号,例如python -m SimpleHTTPServer 1337
http://your IP address:port
http://xxx.xxx.x.x:1337
或http://xx.xxx.xxx.xx:8000
作为默认您可以在您的计算机上单独安装Apache,PHP,Python,SQL,调试器等,然后花费大量时间试图弄清楚如何使它们一起工作,或者寻找一个结合所有这些的解决方案的东西。
我喜欢在NetBeans IDE中使用XAMPP。您还可以安装WAMP,它提供User Interface
来管理和集成Apache和其他服务。
答案 1 :(得分:87)
简单解决方案
如果您使用的是纯html / js / css文件。
在Chrome中安装此小型服务器(link)应用。打开应用程序并将文件位置指向项目目录。
转到应用中显示的网址。
编辑:使用Gulp的智慧解决方案
第1步:安装Gulp。在终端中运行以下命令。
npm install gulp-cli -g
npm install gulp -D
第2步:在项目目录中创建名为gulpfile.js的文件。将以下内容复制到其中。
var gulp = require('gulp');
var bs = require('browser-sync').create();
gulp.task('serve', [], () => {
bs.init({
server: {
baseDir: "./",
},
port: 5000,
reloadOnRestart: true,
browser: "google chrome"
});
gulp.watch('./**/*', ['', bs.reload]);
});
第3步:安装browser sync gulp插件。在存在gulpfile.js的同一目录中,运行以下命令
npm install browser-sync gulp --save-dev
第4步:启动服务器。在存在gulpfile.js的同一目录中,运行以下命令
gulp serve
答案 2 :(得分:2)
发生此错误是因为您只是直接从浏览器打开html文档。要解决此问题,您需要从Web服务器提供代码并在localhost上访问它。如果您有Apache安装程序,请使用它来提供文件。有些IDE内置了Web服务器,比如JetBrains IDE,Eclipse ......
如果您有Node.Js设置,那么您可以使用http-server。只需运行npm install http-server -g
,您就可以在http-server C:\location\to\app.
等终端中使用它
Kirill Fuchs
答案 3 :(得分:1)
当我在本地部署我的Web API项目时,我遇到了这个错误,我只使用下面给出的URL调用API项目:
本地主机// myAPIProject
由于错误消息显示它不是http://然后我更改了URL,并在下面给出了前缀http,错误消失了。
答案 4 :(得分:0)
如果您使用WebStorm Javascript IDE,则只需在浏览器中通过WebStorm打开项目即可。 WebStorm将自动启动服务器,您将不再获得任何这些错误,因为您现在使用允许/支持的协议(HTTP)访问文件。
答案 5 :(得分:0)
取决于您的需求,但也可以通过在http://myjson.com上保存您的JSON来快速检查您的(虚拟)JSON。复制api链接并将其粘贴到您的javascript代码中。中提琴!如果要部署代码,请务必忘记在代码中更改该网址!
答案 6 :(得分:0)
要在Alan Wells的详细答案中添加一个快速解决方法
您可以使用Serve
为计算机中的任何文件夹提供服务首先,使用命令行导航到您要提供的文件夹中。
然后
npx i -g serve
serve
或者如果您想通过下载来测试Serve
npx serve
就是这样!您可以在http://localhost:5000
查看文件答案 7 :(得分:0)
答案 8 :(得分:-1)
将项目文件夹放入Xampp目录的htdocs中 使用xampp控制面板启动Apache服务器 然后打开浏览器转到 本地主机/ projectfolder 然后它开始工作