ホームページ > ウェブフロントエンド > jsチュートリアル > AngularJS から PHP POST: 変数が未定義なのはなぜですか?

AngularJS から PHP POST: 変数が未定義なのはなぜですか?

Linda Hamilton
リリース: 2024-11-23 20:07:18
オリジナル
752 人が閲覧しました

AngularJS to PHP POST: Why are my variables undefined?

AngularJS HTTP Post to PHP: 未定義変数の問題

問題の説明:

AngularJS から HTTP POST リクエストを実行するときPHP スクリプトに送信すると、PHP スクリプトは投稿されたフォームの未定義の値を受け取りますdata.

原因:

AngularJS は、application/json への HTTP Post リクエストの Content-Type ヘッダーをデフォルトに設定します。ただし、質問のサンプル コードでは、Content-Type ヘッダーを application/x-www-form-urlencoded に設定します。その結果、AngularJS によって送信されたデータは、PHP の $_POST 機能で予期される形式ではありません。

解決策 1:

デフォルトの AngularJS Content-Type ヘッダーを使用するapplication/json を編集し、PHP で生の入力を読み取り、デシリアライズします。 JSON.

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$pass = $request->password;
ログイン後にコピー

解決策 2:

$_POST 機能に依存する場合は、データからクエリ文字列を形成し、それをリクエスト本文として送信します。クエリ文字列は URL エンコードされています。

data = "email=" + encodeURIComponent($scope.email) + "&password=" + encodeURIComponent($scope.password);
ログイン後にコピー

以上がAngularJS から PHP POST: 変数が未定義なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート