ホームページ >バックエンド開発 >PHPチュートリアル >PHP スクリプトで AngularJS $http.post() 変数が定義されていないのはなぜですか?

PHP スクリプトで AngularJS $http.post() 変数が定義されていないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-22 16:22:14547ブラウズ

Why are my AngularJS $http.post() variables undefined in my PHP script?

AngularJS: PHP での HTTP POST 未定義変数

$http.post() を使用して AngularJS フォームを送信する場合、PHP が受け取る変数200 OK を受け取ったにもかかわらず、スクリプトが未定義として表示される場合があるデフォルトでは、AngularJS は HTTP POST リクエストの

Content-Type

ヘッダーを application/json に設定します。ただし、JSON データの代わりにフォームエンコードされたペイロードが送信された場合、PHP は $_POST 配列に期待どおりにデータを入力しません。

解決策主な解決策は 2 つあります。

デフォルトの JSON を使用するヘッダー:
  1. application/json のデフォルトの Content-Type ヘッダーを維持します。

    PHP で、生の入力を読み取り、json_decode() を使用して JSON データを逆シリアル化します。
    送信フォームエンコードされたデータ:
  2. Content-Type ヘッダーを application/x-www-form-urlencoded に設定します。

    email=example などのクエリ文字列を手動で作成します@email.com&password=secret を指定し、データ ペイロードとして送信します。
    • クエリ文字列を URL エンコードしてください。 using encodeURIComponent().
    • 修正された PHP の例
  3. 2 番目の解決策の場合:

以上がPHP スクリプトで AngularJS $http.post() 変数が定義されていないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。