当前位置: 首页 > 面试题库 >

JavaScript“跨源请求仅支持HTTP”加载本地文件时出错

申屠昆
2023-03-14
问题内容

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

我遇到了"Cross origin requests are only supported for HTTP."错误,但是我不知道是什么原因引起的,也不知道如何解决。


问题答案:

我的crystal ball说您正在使用file://或加载模型C:/,这对错误消息保持正确,因为它们不是http://

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

起源在RFC-6454中定义为

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

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



 类似资料:
  • 我得到以下错误: 我知道这个问题以前已经回答过了,但我仍然没有找到解决问题的方法。我试着在chrome上运行<code>。exe--允许从命令提示符下的文件访问文件,并将文件移动到本地文件系统,但我仍然收到相同的错误。 我感谢任何建议!

  • 问题内容: 我正在尝试运行以下代码: 但发生以下错误: XMLHttpRequest无法加载file:///home/93579551515/Desktop/Angular/p1.html。跨源请求仅支持HTTP。 我不想在网络服务器上运行它。 问题答案: 您可以添加模板,如和你通过将它们内部的标签,如在文档中提到。 然后,将不再需要发出AJAX请求来获取它们。 请注意,这些元素必须出现 在后面

  • 问题内容: 我正在使用以下代码提出AJAX请求: 但是从Google Chrome JavaScript控制台,我一直收到此错误: XMLHttpRequest无法加载文件:/// C:/xampp/htdocs/webname/resources/templates/signup.php。跨源请求仅受HTTP支持。 问题是 signup.php 文件托管在我的本地Web服务器上,这是所有网站的运

  • 问题内容: 这是我的代码: 我在本地有一个简单的JSON文件,我正在尝试使用AngularJS的方法读取它。我收到以下错误: XMLHttpRequest无法加载文件:/// C:/Users/Avraam/Documents/GitHub/AngularJS/app/js/Services/products.json仅HTTP支持跨源请求。angular.min.js:73错误:发生网络错误。

  • 我需要在浏览器中打开一个本地html文件。javascript运行良好,但ajax停止工作,XMLHttpRequest会出现交叉原点错误。有没有办法从本地目录运行ajax。对我来说,它只从本地文件运行是必要的。 谢谢

  • 我有一个web应用程序,我正在使用Angular 2和Spring Boot开发。我使用依赖项将存储库公开为HTTPendpoint。 在开发过程中,我在运行端口8080的本地tomcat上运行后端spring boot项目。为了开发前端,我使用angular-cli在端口4200上为我的Angular2应用程序提供服务。我在4200上运行的前端需要能够到达在8080上公开的endpoint,但这