AngularJSの$httpを比較分析した.postとjQuery.postの違い
1377 ワード
多くの場合、ajaxでpostデータを提出する必要があります.angularjsはjqと似ています.パッケージされたpostもあります.
しかしjQueryのpostはangularjsより明らかに簡単で、人間的です.
AngularJS:
jQuery:
何の違いもないように見えますよね?しかしangularjsの$httpでコミットされたデータはphpサーバ側では$REQUEST/$_POSTが取得しましたが、次の操作が必要です.
に表示されます.何が原因ですか.
これは両者のpostによるheaderの処理が異なるためである…jQueryはJSONオブジェクトであるmyDataをシーケンス化している.例えば:
Angularはできません
解決策は何ですか.
1.ターゲットユーザが数十Kのスクリプトを複数ロードすることを気にしないことを前提としてjqueryを導入する.(推奨しない)
2.サーバ側(PHP)で$params=json_を通過decode(file_get_contents('php://input'),true);パラメータを取得して、小さいプロジェクトはできて、大きいプロジェクトは1つ1つ変更します.(推奨しない)
3.Angularの$httpProviderのデフォルト処理を変更します.http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/(今後の管理を容易にするためには、これが最善の方法です)
皆さんはAngularJSの$httpについて話していますか.postとjQuery.postの違いはさらに認識されましたね.本文を読んで得られることを願っています.
しかしjQueryのpostはangularjsより明らかに簡単で、人間的です.
AngularJS:
$http.post('do-submit.php',myData)
.success(function(){
// some code
});
jQuery:
$.post('do-submit.php', myData, function() {
// some code
});
何の違いもないように見えますよね?しかしangularjsの$httpでコミットされたデータはphpサーバ側では$REQUEST/$_POSTが取得しましたが、次の操作が必要です.
$params = json_decode(file_get_contents('php://input'),true);
に表示されます.何が原因ですか.
これは両者のpostによるheaderの処理が異なるためである…jQueryはJSONオブジェクトであるmyDataをシーケンス化している.例えば:
var myData = { a : 1, b : 2 };
// jQuery post myData :"a=1&b=2"
Angularはできません
解決策は何ですか.
1.ターゲットユーザが数十Kのスクリプトを複数ロードすることを気にしないことを前提としてjqueryを導入する.(推奨しない)
2.サーバ側(PHP)で$params=json_を通過decode(file_get_contents('php://input'),true);パラメータを取得して、小さいプロジェクトはできて、大きいプロジェクトは1つ1つ変更します.(推奨しない)
3.Angularの$httpProviderのデフォルト処理を変更します.http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/(今後の管理を容易にするためには、これが最善の方法です)
皆さんはAngularJSの$httpについて話していますか.postとjQuery.postの違いはさらに認識されましたね.本文を読んで得られることを願っています.