2016-06-30 9 views
0

は、私はすべてのリクエストで同じURLのparamを送りたいのいずれか、それはこのように、GETまたはPOSTリクエストです:AngularJS - すべてのリクエストで共通のURLパラメータを送信する方法

?region=us&toolName=abc 

それはAngularJSインターセプタを使用することにより可能ですか?それとももっと良い方法がありますか?

ありがとうございました。

+2

参照:https://docs.angularjs.org/api/ng/service/$http#interceptors – kazenorin

答えて

0

httpInterceptorを使用すると、あなたが他のparamsがすでに存在しているかどうかを確認し、それらを拡張...のみAngularJS $ HTTPメソッドは、あなたのHTTPリクエストの動詞を指定するだけでなく、することができます

0

を示すものを使用することができる最高のだろうそのようなパラメータは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."); 
} 
0

は、デフォルトの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) { 

    } 
); 

それはない良い解決策が、あなたのケースを助けることができる:)

0

$ httpProvider.defaults.headers.common ['key'] = '値'

関連する問題