I'm trying to use JSONLoader to load a 3D model that is stored locally on my computer into Three.js and that is in the same directory as the entire website.
I get the "Only cross-origin requests for HTTP are supported." error, but I don't know what causes it or how to fix it.
To be clear - yes, the error states that you cannot point the browser directly to
file://some/path/some.htmlHere are some options to quickly start a local web server and let your browser render local files
Python 2
If you have Python installed...
Use the command
cd /path/to/your/folderChange directory to the filesome.htmlor the folder where the file is locatedUse the command
to start the Python web serverpython -m SimpleHTTPServerThis will start a webserver to host your entire directory listing at
http://localhost:8000python -m SimpleHTTPServer 9000gives you the link:http://localhost:9000This method is built into any Python installation.
Python 3
Perform the same steps but use the following command
python3 -m http.serverVSCode
If you useVisual Studio Code, you can install theLive Serverextension to provide a local web server environment.
Node.js
Or if you need a more responsive setup and are already using Nodejs...
This starts Node.js httpd, which serves the files in the directory as static files, available fromInstall
http-serverby enteringnpm install -g http-serverSwitch to your working directory, where
some.htmlis locatedStart your http server by issuing
http-server -c-1http://localhost:8080
ruby If your preferred language is Ruby... the Ruby Gods say this works too: PHP Of course PHP also has its solutions.My crystal ball says you are loading the model using
file://orC:/which matches the error message as they are not http://So you can either install a web server on your local PC or you can upload the model somewhere else and use jsonp and change the url to http://example.com/path/to/model
Origin is defined inRFC-6454as
So even if your files originate from the same host (
localhost), they are considered different as long as the scheme is different (http/file) origin of.