は、私はすべてのリクエストで同じURLのparamを送りたいのいずれか、それはこのように、GETまたはPOSTリクエストです:AngularJS - すべてのリクエストで共通のURLパラメータを送信する方法
?region=us&toolName=abc
それはAngularJSインターセプタを使用することにより可能ですか?それとももっと良い方法がありますか?
ありがとうございました。
は、私はすべてのリクエストで同じURLのparamを送りたいのいずれか、それはこのように、GETまたはPOSTリクエストです:AngularJS - すべてのリクエストで共通のURLパラメータを送信する方法
?region=us&toolName=abc
それはAngularJSインターセプタを使用することにより可能ですか?それとももっと良い方法がありますか?
ありがとうございました。
httpInterceptorを使用すると、あなたが他のparamsがすでに存在しているかどうかを確認し、それらを拡張...のみAngularJS $ HTTPメソッドは、あなたのHTTPリクエストの動詞を指定するだけでなく、することができます
を示すものを使用することができる最高のだろうそのようなパラメータはconfig
オブジェクトを介してparams
オブジェクトを含むことができます。このオブジェクトは{ region: "us", toolName: "abc" }
のようなものになることがあり、これはクエリ文字列になります。使用例:
$http({ url: "test.aspx", method: "GET", params: { region: "us", toolName: "abc" } }).then(
function(response){
alert("success!");
}, function(response){
alert("failure.");
}
は、デフォルトのparams要求を設定するためのサービスを作成します。
'use strict';
var ParamsService = function() {
return {
set: function (params) {
var defaultParams = {
region: 'us',
toolName: 'abc'
};
// Use any function to extend objects (currently, I'm using lodash)
return _.extend(defaultParams, params);
}
};
};
ParamsService.$inject = [
];
要求:
$http({
url: 'url.json',
method: 'GET',
params: ParamsService.set({otherProperty: otherValue})
})
.then(
function (data) {
},
function (error) {
}
);
それはない良い解決策が、あなたのケースを助けることができる:)
$ httpProvider.defaults.headers.common ['key'] = '値'
参照:https://docs.angularjs.org/api/ng/service/$http#interceptors – kazenorin