Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
433 views
in Technique[技术] by (71.8m points)

javascript - 加载本地文件时出现“仅HTTP支持跨源请求。”错误(“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.

(我正在尝试使用JSONLoader将3D模型加载到Three.js中,并且该3D模型与整个网站位于同一目录中。)

I'm getting the "Cross origin requests are only supported for HTTP."

(我收到"Cross origin requests are only supported for HTTP.")

error, but I don't know what's causing it nor how to fix it.

(错误,但我不知道是什么原因导致的,也不知道如何解决。)

  ask by corazza translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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://

(我的水晶球说您正在使用file://C:/加载模型,这对错误消息保持正确,因为它们不是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

(因此,您既可以在本地PC上安装Web服务器,也可以将模型上传到其他地方,然后使用jsonp并将url更改为http://example.com/path/to/model)

Origin is defined in RFC-6454 as

(RFC-6454中将原点定义为)

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

(因此,即使您的文件源自同一主机( localhost ),但是只要方案不同( http / file ),它们就被视为不同的来源。)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...