Mengapa Permintaan AngularJS POST Gagal dengan Kod Status HTTP 404?

Barbara Streisand
Lepaskan: 2024-11-04 09:59:01
asal
333 orang telah melayarinya

Why Do AngularJS POST Requests Fail with HTTP Status Code 404?

Membetulkan AngularJS POST Gagal dengan Kod Status HTTP 404

Dalam AngularJS, permintaan POST mungkin gagal dengan mesej ralat "Respons for preflight has invalid Kod status HTTP 404." Isu ini timbul apabila penyemak imbas menghantar permintaan OPTIONS prapenerbangan untuk mengesahkan kebenaran sebelum permintaan POST sebenar. Pelayan mesti mengendalikan permintaan pra-penerbangan ini dan bertindak balas dengan pengepala CORS yang sesuai.

Konfigurasi Sisi Pelayan

Dalam pelayan SlimPHP, pastikan anda telah memasukkan pengepala berikut dalam respons anda:

<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

Konfigurasi Sisi Pelanggan

Seterusnya, lumpuhkan permintaan preflight dengan mengubah suai kod klien AngularJS:

<code class="javascript">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

Dengan menetapkan semula pengepala pada bahagian klien, penyemak imbas akan menghantar permintaan POST terus tanpa permintaan OPTIONS prapenerbangan. Ini sepatutnya menyelesaikan ralat HTTP 404.

Gambaran Keseluruhan CORS

Perkongsian Sumber Silang Asal (CORS) membenarkan permintaan daripada domain yang berbeza daripada domain yang menyediakan kandungan. Ia melibatkan permintaan prapenerbangan untuk mengesahkan kebenaran sebelum permintaan sebenar. Pengendalian permintaan prapenerbangan yang tidak betul ini boleh menyebabkan ralat HTTP 404. Dengan memahami CORS dan mengkonfigurasi kedua-dua klien dan pelayan sewajarnya, anda boleh berjaya melaksanakan permintaan POST dalam AngularJS.

Atas ialah kandungan terperinci Mengapa Permintaan AngularJS POST Gagal dengan Kod Status HTTP 404?. 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!