Rumah > hujung hadapan web > tutorial js > Mengapakah pengepala \'Access-Control-Allow-Origin\' saya tidak dibenarkan dalam \'Access-Control-Allow-Headers\' apabila menghantar fail dengan permintaan POST dalam Angular?

Mengapakah pengepala \'Access-Control-Allow-Origin\' saya tidak dibenarkan dalam \'Access-Control-Allow-Headers\' apabila menghantar fail dengan permintaan POST dalam Angular?

Susan Sarandon
Lepaskan: 2024-10-28 07:36:29
asal
763 orang telah melayarinya

Why is my

Isu: Ralat Permintaan Silang Asal dengan Pengepala

Apabila cuba menghantar fail dengan permintaan POST, pembangun mungkin menghadapi ralat yang menunjukkan bahawa pengepala permintaan khusus tidak dibenarkan oleh pengepala respons Access-Control-Allow-Headers.

Untuk menyelesaikan isu ini, pembangun menambah pengepala berikut pada permintaan:

"Access-Control-Allow-Origin" : "*",
"Access-Control-Allow-Methods" : "GET,POST,PUT,DELETE,OPTIONS",
"Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
Salin selepas log masuk

Walau bagaimanapun , ini mengakibatkan ralat baharu yang menyatakan bahawa pengepala "Access-Control-Allow-Origin" tidak dibenarkan oleh pengepala "Access-Control-Allow-Headers".

Penyelesaian: Pengepalaan Sekatan dan Jenis Kandungan Lalai

Untuk permintaan silang asal, penyemak imbas akan menghantar permintaan OPTIONS prapenerbangan jika jenis kandungan tidak ditetapkan kepada salah satu daripada tiga jenis tertentu: "application/x-www-form-urlencoded" , "multipart/form-data", atau "text/plain".

Secara lalai, Angular menetapkan jenis kandungan kepada "application/json", yang bukan salah satu jenis yang boleh diterima untuk permintaan silang asal . Ini mencetuskan permintaan OPTIONS prapenerbangan, yang kemudiannya ditolak kerana sekatan pada pengepala "Access-Control-Allow-Headers".

Untuk menyelesaikan isu ini, pembangun boleh menulis ganti jenis kandungan lalai dalam Angular atau benarkan pengepala "Access-Control-Allow-Headers" di sebelah pelayan.

Sampel sudut yang menimpa pengepala lalai:

$http.post(url, data, {
    headers : {
        'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
    }
});
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah pengepala \'Access-Control-Allow-Origin\' saya tidak dibenarkan dalam \'Access-Control-Allow-Headers\' apabila menghantar fail dengan permintaan POST dalam Angular?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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