Monday, 12 March 2018

javascript - "Cross origin requests are only supported for HTTP." error when loading a local file



I'm trying to load a 3D model into Three.js with JSONLoader, and that 3D model is in the same directory as the entire website.




I'm getting the "Cross origin requests are only supported for HTTP." error, but I don't know what's causing it nor how to fix it.


Answer



My crystal ball says that you are loading the model using either file:// or C:/, which stays true to the error message as they are not http://



So you can either install a webserver in your local PC or upload the model somewhere else and use jsonp and change the url to http://example.com/path/to/model



Origin is defined in RFC-6454 as



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



So even though your file originates from the same host (localhost), but as long as the scheme is different (http / file), they are treated as different origin.


No comments:

Post a Comment

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...