我试图加载一个3D模型,存储在我的电脑本地,到Three.js与JSONLoader, 3D模型是在同一目录下,作为整个网站。
我得到了“跨起源请求只支持HTTP.”错误,但我不知道是什么原因导致它也不知道如何修复它。
我试图加载一个3D模型,存储在我的电脑本地,到Three.js与JSONLoader, 3D模型是在同一目录下,作为整个网站。
我得到了“跨起源请求只支持HTTP.”错误,但我不知道是什么原因导致它也不知道如何修复它。
当前回答
Url应该像这样:
createUserURL = "http://www.localhost:3000/api/angular/users"
而不是:
createUserURL = "localhost:3000/api/angular/users"
其他回答
当我在浏览器上加载一个HTML文件时,我得到了这个确切的错误,该浏览器正在使用一个json文件从本地目录。在我的例子中,我能够通过创建一个允许服务器静态内容的简单节点服务器来解决这个问题。我把这个的代码留在了另一个答案。
只需将url更改为http://localhost而不是localhost。如果你从本地打开html文件,你应该创建一个本地服务器来服务该html文件,最简单的方法是使用Web server for Chrome。这样问题就解决了。
只是显式-是的,错误是说你不能将浏览器直接指向file://some/path/some.html
这里有一些选项可以快速启动本地web服务器,让浏览器呈现本地文件
Python 2
如果你安装了Python…
使用cd /path/to/your/folder命令将目录更改为文件some.html所在的文件夹 使用Python -m SimpleHTTPServer命令启动一个Python web服务器
这将启动一个web服务器,在http://localhost:8000上托管您的整个目录列表
你可以使用自定义端口python -m SimpleHTTPServer 9000给你链接:http://localhost:9000
这种方法内置于任何Python安装中。
Python 3
执行相同的步骤,但使用以下命令代替python3 -m http.server
VSCode
如果你正在使用Visual Studio Code,你可以安装Live Server扩展,它提供了一个本地web服务器环境。
node . js
或者,如果你需要一个更灵敏的设置,并且已经使用了nodejs…
通过输入npm Install -g http-server安装http-server 切换到你的工作目录,yoursome.html所在的目录 通过发出http-server -c-1启动http服务器
这将启动一个Node.js httpd,它将目录中的文件作为可从http://localhost:8080访问的静态文件提供
Ruby
如果你的首选语言是Ruby…红宝石之神说这也管用:
ruby -run -e httpd . -p 8080
PHP
当然,PHP也有它的解决方案。
php -S localhost:8000
它只是说应用程序应该在web服务器上运行。我在chrome上也有同样的问题,我启动tomcat并将我的应用程序移动到那里,它工作了。
我建议您使用一个迷你服务器在本地主机上运行这类应用程序(如果您没有使用某些内置服务器)。
这里有一个非常简单的设置和运行:
https://www.npmjs.com/package/tiny-server