Rohkem
"Päritoluülesed päringud on toetatud ainult HTTP puhul." viga kohaliku faili laadimisel
Ma üritan laadida 3D-mudelit Three.js-i JSONLoader
iga ja see 3D-mudel on samas kataloogis kui kogu veebisait.
Ma saan "Cross origin requests are only supported for HTTP."
vea, kuid ma ei tea, mis seda põhjustab ega kuidas seda parandada.
752
3
Minu kristallkera ütleb, et sa laadid mudeli kas
file://
võiC:/
abil, mis jääb veateate juurde, kuna need ei olehttp://
.Seega võid kas paigaldada veebiserveri oma kohalikku arvutisse või laadida mudeli kuhugi mujale ja kasutada
jsonp
ning muuta urlhttp://example.com/path/to/model
-ks.Päritolu on defineeritud RFC-6454 kui
Seega, isegi kui teie fail pärineb samast hostist (
localhost
), kuid niikaua kui skeem on erinev (http
/file
), käsitletakse neid erineva päritoluga failidena.Lihtsalt selgituseks - jah, viga ütleb, et te ei saa oma brauseri otse aadressile
file://some/path/some.html
suunata.Siin on mõned võimalused kohaliku veebiserveri kiireks käivitamiseks, et lasta brauseril kohalikke faile renderdada
Python 2
Kui teil on Python installeeritud...
Vahetage kataloogi kausta, kus teie fail
some.html
või fail(id) on olemas, kasutades käskucd /path/to/your/folder
.Käivitage Pythoni veebiserver käsuga
python -m SimpleHTTPServer
.See käivitab veebiserveri, mis majutab kogu teie kataloogi loendi aadressil
http://localhost:8000
.python -m SimpleHTTPServer 9000
, mis annab teile lingi:http://localhost:9000
See lähenemine on sisseehitatud igasse Pythoni installeerimisse.
Python 3
Tee samu samu samme, kuid kasuta selle asemel järgmist käsku
python3 -m http.server
.Node.js
Alternatiivina, kui sa nõuad tundlikumat seadistust ja kasutad juba nodejs...
Installige
http-server
, kirjutadesnpm install -g http-server
.Muutke oma töökataloogi, kus asub teie
some.html
.Käivitage oma http-server, andes käsu
http-server -c-1
.See käivitab Node.js httpd, mis teenindab teie kataloogis olevaid faile staatiliste failidena, mis on kättesaadavad aadressilt
http://localhost:8080
.Ruby
Kui teie eelistatud keel on Ruby ... Ruby jumalad ütlevad, et see töötab samuti:
PHP
Loomulikult on ka PHP-l oma lahendus.
Täna sattusin sellesse.
Ma kirjutasin koodi, mis nägi välja selline:
...kuid see peaks nägema välja nii:
Ainus erinevus oli
http://
puudumine teises koodilõikes.Lihtsalt tahtsin selle välja panna, juhuks kui teistelgi on sarnane probleem.