Semasa cuba memuatkan model 3D ke Three.js menggunakan JSONLoader, pengguna boleh menghadapi ralat "Permintaan silang asal hanya disokong untuk HTTP." Isu ini timbul apabila fail setempat diakses menggunakan protokol bukan HTTP.
Mesej ralat dengan tepat menyatakan bahawa permintaan silang asal hanya disokong untuk HTTP. Walau bagaimanapun, puncanya berpunca daripada fakta bahawa fail tempatan biasanya dimuatkan menggunakan sama ada protokol "file://" atau "C:/". Seperti RFC-6454, asal ditakrifkan oleh skema, hos dan port. Dalam kes ini, walaupun fail dan tapak web berada pada hos yang sama (cth. localhost), perbezaan dalam skema (fail / http) menandakan fail dan tapak web tersebut sebagai dari asal yang berbeza.
Untuk menyelesaikan isu ini, terdapat dua pendekatan yang mungkin:
1. Pasang Pelayan Web Setempat:
Pasang pelayan web tempatan, seperti Apache atau Nginx, pada komputer anda. Kemudian, konfigurasikan pelayan web untuk mengehoskan model 3D dan aksesnya menggunakan protokol "http://". Ini memastikan bahawa fail dimuatkan menggunakan asal yang sama seperti tapak web.
2. Muat naik Model ke Hos Luaran:
Sebagai alternatif, muat naik model 3D ke perkhidmatan pengehosan pihak ketiga, seperti Storan Awan Google atau Amazon S3. Ini membolehkan anda mengakses fail menggunakan URL berformat HTTP (cth., "http://example.com/path/to/model").
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Permintaan Cross Origin Hanya Disokong untuk HTTP' Apabila Memuatkan Model 3D Setempat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!