我试图加载一个3D模型,存储在我的电脑本地,到Three.js与JSONLoader, 3D模型是在同一目录下,作为整个网站。
我得到了“跨起源请求只支持HTTP.”错误,但我不知道是什么原因导致它也不知道如何修复它。
我试图加载一个3D模型,存储在我的电脑本地,到Three.js与JSONLoader, 3D模型是在同一目录下,作为整个网站。
我得到了“跨起源请求只支持HTTP.”错误,但我不知道是什么原因导致它也不知道如何修复它。
当前回答
使用http://或https://创建url
错误:localhost: 8080
解决方案:http://localhost: 8080
其他回答
使用http://或https://创建url
错误:localhost: 8080
解决方案:http://localhost: 8080
加载本地文件的一种方法是在项目文件夹中使用它们,而不是在项目文件夹之外。在您的项目示例文件下创建一个文件夹,类似于我们创建图像的方式,并替换其中使用完整的本地路径而不是项目路径的部分,并使用项目文件夹下的文件的相对url。 这对我很有效
er。我刚刚发现了一些官方文字“试图加载未构建的,远程AMD模块使用dojo/文本插件将失败,由于跨起源安全限制。(AMD模块的构建版本不受影响,因为构建系统消除了对dojo/text的调用。)”https://dojotoolkit.org/documentation/tutorials/1.10/cdn/
如果你使用旧版本的Mozilla Firefox(2019年之前),它会像预期的那样工作,没有任何问题;
附言:令人惊讶的是,旧版本的ie和Edge也能正常工作。
我的水晶球显示,您正在使用文件://或C:/加载模型,这对错误消息保持真实,因为它们不是http://
因此,您可以在本地PC上安装web服务器,也可以将模型上传到其他地方,使用jsonp并将url更改为http://example.com/path/to/model
RFC-6454中将Origin定义为
...they have the same
scheme, host, and port. (See Section 4 for full details.)
因此,即使您的文件起源于同一主机(localhost),但只要方案不同(http / file),它们就被视为不同的起源。