recherche

Maison  >  Questions et réponses  >  le corps du texte

Étant donné que les requêtes HTTP d'origine croisée ne sont pas prises en charge, une erreur se produit lors de la tentative de chargement d'un fichier local.

<p>J'essaie d'utiliser <code>JSONLoader</code> pour charger un modèle 3D stocké localement sur mon ordinateur et se trouvant dans le même répertoire que l'ensemble du site Web dans Three.js. </p> <p>Je reçois l'erreur <code>"Seules les requêtes d'origine croisée pour HTTP sont prises en charge."</code>, mais je ne sais pas quelle en est la cause ni comment y remédier. </p>
P粉265724930P粉265724930463 Il y a quelques jours506

répondre à tous(2)je répondrai

  • P粉838563523

    P粉8385635232023-08-28 09:33:34

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

    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 un port personnalisé 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

    répondre
    0
  • P粉309989673

    P粉3099896732023-08-28 09:00:16

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

    Vous pouvez donc soit installer un serveur Web sur votre PC local, soit 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🎜). 🎜

    répondre
    0
  • Annulerrépondre