同等の jQuery 関数
$.post("/example/handler", {foo: 1, bar: 2});
post パラメータを使用してリクエストを作成しますfoo=1&bar=2
。一方
$http.post("/example/handler", {foo : 1, bar: 2});
バージョンではなくPOST
本文でリクエストを送信しているようです。ここで期待される動作だと思うものを得るには、次のようなことをする必要があります{"foo":1,"bar":2}
form-uriencoded
myModule.config(function ($httpProvider) {
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
$httpProvider.defaults.transformRequest = function(data){
return _.map(data, function (val, k) { return encodeURI(k) + "=" + encodeURI(val); }).join("&");
}
});
モジュール構成で。
$http.post
引数処理の背後にある理論的根拠を説明できる人はいますか? Angulars のデフォルトの動作や、目に見えない隠れた利点が必要な状況はありますか?