ホームページ  >  記事  >  ウェブフロントエンド  >  AngularJS_AngularJS における $http.post と jQuery.post の違いの比較分析

AngularJS_AngularJS における $http.post と jQuery.post の違いの比較分析

WBOY
WBOYオリジナル
2016-05-16 16:12:461362ブラウズ

多くの場合、投稿データを送信するために ajax を使用する必要があります。Angularjs は jq に似ており、カプセル化された投稿もあります。

しかし、jQuery の投稿は明らかに angularjs の投稿よりもシンプルでユーザーフレンドリーです。

AngularJS:

コードをコピーします コードは次のとおりです:

$http.post('do-submit.php',myData)
.success(function(){
// 何らかのコード
});

jQuery:

コードをコピーします コードは次のとおりです:

$.post('do-submit.php', myData, function() {
// 何らかのコード
});

違いはないようですね?ただし、angularjs の $http を使用して送信されたデータは、PHP サーバーの $_REQUEST/$_POST を通じて取得することはできません。代わりに、

を使用する必要があります。

コードをコピーします コードは次のとおりです:

$params = json_decode(file_get_contents('php://input'),true);

を入手してください。理由は何ですか?

これは、2 つのポストのヘッダーの処理方法が異なるためです...jQuery は、myData を JSON オブジェクトとしてシリアル化します。例:

コードをコピーします コードは次のとおりです:

var myData = { a : 1, b : 2 };
// jQuery はデータを送信する前に myData を文字列に変換します: "a=1&b=2"

Angular にはそれがありません。

解決策は何ですか?

1. 対象ユーザーが追加の数十 K のスクリプトをロードしても構わないという条件で、jquery を導入します。 (推奨されません)

2. $params = json_decode(file_get_contents('php://input'),true); を通じてサーバー側 (PHP) のパラメーターを取得します。小規模なプロジェクトではこれを行うことができますが、大規模なプロジェクトでは 1 つずつ変更する必要があります。 1つ。 (推奨されません)

3. Angular の $httpProvider のデフォルトの処理を変更します: http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/ (今後の管理を容易にするためには、これが最善の方法です)

AngularJS の $http.post と jQuery.post の違いについてはよく理解できましたか? この記事を読んで何かを得ることができれば幸いです。

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