Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Permintaan AngularJS POST Gagal dengan Kod Status HTTP 404?

Mengapa Permintaan AngularJS POST Gagal dengan Kod Status HTTP 404?

Barbara Streisand
Barbara Streisandasal
2024-11-04 09:59:01395semak imbas

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>

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>

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!

Kenyataan:
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