Mengapa Permintaan AngularJS POST Saya Gagal dengan 404 untuk Permintaan Preflight?

Mary-Kate Olsen
Lepaskan: 2024-11-03 14:56:30
asal
258 orang telah melayarinya

Why Does My AngularJS POST Request Fail with a 404 for the Preflight Request?

AngularJS POST Request Failure: HTTP 404 for Preflight Request

Dalam AngularJS, ralat "XMLHttpRequest tidak dapat dimuatkan" yang tidak dapat diselesaikan boleh berlaku semasa permintaan POST . Ini disebabkan oleh kod status HTTP yang tidak sah (404) untuk permintaan prapenerbangan yang mendahului POST sebenar. Permintaan prapenerbangan bertujuan untuk menyemak sama ada operasi yang diminta dibenarkan, memastikan pematuhan dengan dasar Perkongsian Sumber Rentas Asal (CORS).

Punca Punca: Pengepala CORS Hilang

Punca asas ralat terletak pada kegagalan pelayan untuk mengendalikan permintaan OPTIONS prapenerbangan dengan betul. Untuk mendayakan permintaan silang asal, pelayan mesti menetapkan pengepala CORS yang sesuai.

Penyelesaian: Menambah Pengepala CORS Bahagian Pelayan

Dalam SlimPHP, anda boleh menambah pengepala CORS ke objek tindak balas:

<code class="php">$app->response()->headers->set('Access-Control-Allow-Headers', 'Content-Type');
$app->response()->headers->set('Content-Type', 'application/json');
$app->response()->headers->set('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
$app->response()->headers->set('Access-Control-Allow-Origin', '*');</code>
Salin selepas log masuk

Penyelesaian: Melumpuhkan Permintaan Preflight Client-Side

Sebagai alternatif, anda boleh melumpuhkan permintaan preflight sisi klien dengan menetapkan semula pengepala biasa dalam AngularJS :

<code class="js">app.config(function ($httpProvider) {
  $httpProvider.defaults.headers.common = {};
  $httpProvider.defaults.headers.post = {};
  $httpProvider.defaults.headers.put = {};
  $httpProvider.defaults.headers.patch = {};
});</code>
Salin selepas log masuk

Pertimbangan Tambahan

Untuk permintaan POST yang melibatkan data sensitif, anda mungkin perlu melaksanakan mekanisme pengesahan dan kebenaran, seperti JSON Web Token (JWT), untuk menjamin sambungan. Adalah penting untuk memahami CORS secara menyeluruh dan memastikan pengendalian permintaan OPTIONS yang betul untuk mengelakkan pelanggaran keselamatan.

Atas ialah kandungan terperinci Mengapa Permintaan AngularJS POST Saya Gagal dengan 404 untuk Permintaan Preflight?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!