Since HTTP cross-origin requests are not supported, an error occurs when trying to load a local file.
P粉265724930
P粉265724930 2023-08-27 11:41:12
0
2
429

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.

P粉265724930
P粉265724930

reply all (2)
P粉838563523

To be clear - yes, the error states that you cannot point the browser directly tofile://some/path/some.html

Here are some options to quickly start a local web server and let your browser render local files

Python 2

If you have Python installed...

  1. Use the commandcd /path/to/your/folderChange directory to the filesome.htmlor the folder where the file is located

  2. Use the commandpython -m SimpleHTTPServer

    to start the Python web server

This will start a webserver to host your entire directory listing athttp://localhost:8000

  1. You can use a custom portpython -m SimpleHTTPServer 9000gives you the link:http://localhost:9000

This method is built into any Python installation.

Python 3

Perform the same steps but use the following commandpython3 -m http.server

VSCode

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...

  1. Installhttp-serverby enteringnpm install -g http-server

  2. Switch to your working directory, wheresome.htmlis located

  3. Start your http server by issuinghttp-server -c-1

This starts Node.js httpd, which serves the files in the directory as static files, available from

http://localhost:8080

ruby

If your preferred language is Ruby... the Ruby Gods say this works too:

ruby -run -e httpd . -p 8080
PHP

Of course PHP also has its solutions.

php -S localhost:8000
    P粉309989673

    My crystal ball says you are loading the model usingfile://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

    ...they have the same scheme, host, and port. (See Section 4 for full details.)

    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.

      Latest Downloads
      More>
      Web Effects
      Website Source Code
      Website Materials
      Front End Template
      About us Disclaimer Sitemap
      php.cn:Public welfare online PHP training,Help PHP learners grow quickly!