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
702 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!

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