Apabila menggunakan ngResource untuk berinteraksi dengan API REST pada Perkhidmatan Web Amazon, pengguna mungkin menghadapi ralat berikut:
XMLHttpRequest cannot load http://server.apiurl.com:8000/s/login?login=facebook. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. Error 405
Ralat ini berpunca daripada Perkongsian Sumber Silang Asal (CORS). CORS menguatkuasakan sekatan keselamatan yang menghalang sumber daripada satu domain (cth., localhost) daripada mengakses terus sumber daripada domain lain (cth., server.apiurl.com).
Untuk menyelesaikan isu , pertimbangkan pendekatan berikut:
Adalah penting untuk ambil perhatian bahawa mengakses domain luaran daripada localhost membentuk permintaan merentas domain. Ini mencetuskan mekanisme keselamatan CORS, yang menghalang akses tanpa kebenaran.
Walaupun melumpuhkan CORS atau menggunakan pemalam boleh menjadi penyelesaian pantas untuk ujian, ia tidak menangani isu asas silang- komunikasi asal. Menggunakan proksi atau mengkonfigurasi pelayan untuk membenarkan akses silang asal ialah pendekatan yang lebih komprehensif.
Atas ialah kandungan terperinci Mengapakah permintaan AngularJS ngResource saya kepada API AWS gagal dalam semakan Access-Control sebelum penerbangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!