Friday 28 October 2016

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

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...