"Les requêtes d'origine croisée ne sont prises en charge que via HTTP." Erreur lors du chargement du fichier local.
P粉128563140
P粉128563140 2023-08-23 15:30:29
0
2
544
<p>J'essaie d'utiliser <code>JSONLoader</code> pour charger un modèle 3D stocké localement sur mon ordinateur dans Three.js, et le modèle 3D se trouve dans le même répertoire que l'ensemble du site Web. </p> <p>J'obtiens l'erreur<code>"Les requêtes d'origine croisée ne sont prises en charge que via HTTP."</code>, mais je ne sais pas quelle en est la cause ni comment y remédier. </p>
P粉128563140
P粉128563140

répondre à tous(2)
P粉868586032

Pour être clair : oui, l'erreur indique que vous ne pouvez pas pointer votre navigateur directement vers file://some/path/some.html

Voici quelques options pour démarrer rapidement un serveur Web local et laisser votre navigateur restituer les fichiers locaux

Python 2

Si Python est installé...

  1. Utilisez la commande cd /path/to/your/folder将目录更改为文件some.html ou le dossier où se trouve le fichier

  2. Utilisez la commande python -m SimpleHTTPServer

    pour démarrer le serveur Web Python

Cela démarrera un serveur Web pour héberger l'intégralité de votre répertoire sur http://localhost:8000

  1. Vous pouvez utiliser des ports personnalisés python -m SimpleHTTPServer 9000 为您提供链接:http://localhost:9000

Cette méthode est intégrée à toute installation Python.

Python 3

Suivez les mêmes étapes mais utilisez la commande suivantepython3 -m http.server

VSCode

Si vous utilisez Visual Studio Code, vous pouvez installer l'extension Live Server pour fournir un environnement de serveur Web local.

Node.js

Ou si vous avez besoin d'une configuration plus réactive et que vous utilisez déjà Nodejs...

  1. En tapant npm install -g http-server 安装 http-server

  2. Basculez vers votre répertoire de travail, où se trouve some.html

  3. Démarrez votre serveur http en émettant http-server -c-1

Cela démarre Node.js httpd qui sert les fichiers du répertoire sous forme de fichiers statiques, disponibles sur http://localhost:8080

Rubis

Si votre langue préférée est Ruby...Ruby Gods dit que cela fonctionne aussi :

ruby -run -e httpd . -p 8080

PHP

Bien sûr, PHP a aussi sa solution.

php -S localhost:8000
P粉710478990

Ma boule de cristal dit que vous utilisez file://C:/ 加载模型,这与错误消息相符,因为它们不是http://

Vous pouvez donc installer un serveur Web sur votre PC local ou télécharger le modèle ailleurs et utiliser jsonp et changer l'URL en http://example.com/path/to/model

L'origine est définie dans la RFC-6454 comme

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

Ainsi, même si vos fichiers proviennent du même hôte (localhostlocalhost),但只要方案不同 (http / file), ils sont considérés comme d'origines différentes tant que le schéma est différent (http

/ file🎜). 🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!