Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menyelesaikan Ralat CORS ngResource AngularJS: 'Tiada pengepala 'Access-Control-Allow-Origin''?

Bagaimana untuk Menyelesaikan Ralat CORS ngResource AngularJS: 'Tiada pengepala 'Access-Control-Allow-Origin''?

Linda Hamilton
Lepaskan: 2024-12-04 15:53:10
asal
697 orang telah melayarinya

How to Solve the AngularJS ngResource CORS Error:

Ralat CORS: Pengepala 'Access-Control-Allow-Origin' Hilang

Masalah:

Apabila menggunakan ngResource AngularJS untuk membuat permintaan kepada API REST yang dihoskan di Amazon Web Perkhidmatan, ralat berikut berlaku:

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Salin selepas log masuk

Punca:

Ralat ini biasanya berlaku disebabkan oleh sekatan CORS (Cross-Origin Resource Sharing). CORS menghalang asal yang berbeza (iaitu, nama domain) daripada berinteraksi antara satu sama lain tanpa kebenaran yang jelas.

Penyelesaian:

Terdapat beberapa kaedah untuk menyelesaikan isu ini:

  1. Lumpuhkan CORS: Gunakan sambungan penyemak imbas atau ubah suai penyemak imbas tetapan untuk melumpuhkan perlindungan CORS (tidak disyorkan atas sebab keselamatan).
  2. Gunakan Pemalam Penyemak Imbas: Pasang pemalam penyemak imbas yang secara automatik menambah pengepala yang diperlukan pada permintaan.
  3. Laksanakan Proksi: Gunakan pelayan tempatan (seperti nginx) sebagai proksi untuk memajukan permintaan ke API jauh dan mengubah suai pengepala sebagai diperlukan.
  4. Konfigurasikan Sokongan Bahagian Pelayan: Dayakan CORS pada pelayan API dengan menambahkan pengepala HTTP yang sesuai (cth., Access-Control-Allow-Origin). Rujuk dokumentasi untuk pelayan web khusus anda.

Memahami CORS:

CORS mengehadkan komunikasi silang asal untuk memastikan keselamatan. Apabila permintaan dibuat dari asal yang berbeza, permintaan prapenerbangan dihantar ke pelayan untuk mengesahkan sama ada permintaan itu dibenarkan. Pelayan bertindak balas dengan pengepala Access-Control-Allow-Origin untuk menunjukkan sama ada permintaan itu dibenarkan.

Jika pelayan tidak menyertakan pengepala Access-Control-Allow-Origin, permintaan itu tidak akan diproses , dan penyemak imbas akan memaparkan ralat CORS.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat CORS ngResource AngularJS: 'Tiada pengepala 'Access-Control-Allow-Origin''?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan