Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Membetulkan Ralat \'Request Header Access-Control-Allow-Headers Tidak Dibenarkan oleh Access-Control-Allow-Headers\' dalam Permintaan Silang Asal?

Bagaimana untuk Membetulkan Ralat \'Request Header Access-Control-Allow-Headers Tidak Dibenarkan oleh Access-Control-Allow-Headers\' dalam Permintaan Silang Asal?

Susan Sarandon
Lepaskan: 2024-10-29 06:32:02
asal
980 orang telah melayarinya

How to Fix the

Menyelesaikan "Request Header Field Access-Control-Allow-Headers Tidak Dibenarkan oleh Access-Control-Allow-Headers" Ralat

Dalam percubaan untuk membetulkan ralat awal, pengepala telah ditambahkan pada permintaan untuk membenarkan pelbagai kaedah dan pengepala. Walau bagaimanapun, ini membawa kepada ralat baharu: "Permintaan medan pengepala Access-Control-Allow-Origin tidak dibenarkan oleh Access-Control-Allow-Headers."

Memahami CORS dan Permintaan Preflight

Isu ini berpunca daripada fakta bahawa penyemak imbas menghantar permintaan OPTIONS prapenerbangan untuk permintaan silang asal dengan jenis kandungan tertentu. Secara lalai, Angular menghantar data dengan jenis kandungan aplikasi/json, yang mencetuskan permintaan prapenerbangan ini.

Respons Pelayan dan Pengepala

Pelayan mesti membenarkan Akses- Pengepala Control-Allow-Header dalam responsnya untuk mengelakkan ralat. Jika tidak, penyemak imbas akan mentafsirkan respons sebagai tidak membenarkan sebarang pengepala.

Penyelesaian: Mengubah Suai Jenis Kandungan atau Respons Pelayan

Untuk menyelesaikan isu, ubah suai sama ada klien atau konfigurasi pelayan:

1. Sisi Pelanggan (Sudut):

Tulis ganti jenis kandungan Sudut lalai ke application/x-www-form-urlencoded, yang tidak mencetuskan permintaan preflight:

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

2. Bahagian Pelayan:

Sebagai alternatif, benarkan pengepala Access-Control-Allow-Headers pada pelayan. Pengepala respons berikut mesti ditetapkan:

  • Access-Control-Allow-Origin: * atau asal tertentu (cth., https://example.com)
  • Access-Control -Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
  • Access-Control-Allow-Headers: Semua pengepala yang dihantar oleh klien dalam permintaan (cth., Jenis Kandungan, Keizinan)

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Request Header Access-Control-Allow-Headers Tidak Dibenarkan oleh Access-Control-Allow-Headers\' dalam Permintaan Silang Asal?. 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