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

WBOY
リリース: 2016-05-16 16:12:46
オリジナル
1352 人が閲覧しました

多くの場合、投稿データを送信するために 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 の違いについてはよく理解できましたか? この記事を読んで何かを得ることができれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!