2016-11-11 3 views
0

オブジェクトまたは単一パラメータで$http.post要求を構成する際に問題はありませんが、特定の場合は2つの単純なパラメータ、整数と文字列。

通常、私は使用します。

$http.post(url, id) 
     .success(function (data, status, header) { 
      $scope.result = data; 

     }) 
     .error(function (data, status, header) { 
      $scope.result = "Data: " + data + 
       "<hr />status: " + status; 
      console.log(header.responseText); 
     }); 

しかし、どのように、私は2つのパラメータを渡すためにそれを修正することができますか?

私は2つのプロパティを持つオブジェクトを作成し、そのオブジェクトを渡して試してみました:

var inData = { 
    id: id, 
    param2: param2 
} 

$http.post(url, inData) 
    .success(function (data, status, header) { 
     $scope.result = data; 

    }) 
    .error(function (data, status, header) { 
     $scope.result = "Data: " + data + 
      "<hr />status: " + status; 
     console.log(header.responseText); 
    }); 

しかし、私はurlパラメータ経由で渡された私のウェブAPIメソッドにパラメータとして指定するかわからないです。

オブジェクトを渡す代わりに2つの個別のパラメータを渡すことは可能ですか?

+0

「2つのパラメータ」は正確にはどういう意味ですか?バックエンドは何を期待していますか?上記のコードではパラメータを渡していません。あなたは身体としてIDを渡しており、角度はこのIDをJSON化します。どんなオブジェクトでも渡すことができ、同じことを行います。 –

+0

あなたはオブジェクトとして2つのパラメータを送信できませんか? – Nijeesh

+0

バックエンドで2つのパラメータ、整数、文字列が必要であるという問題があります – ElenaDBA

答えて

0

しかし、urlパラメータで渡されるWeb APIメソッドでパラメータとして指定するものがわかりません。

URLパラメータは、オプションの設定オブジェクトの一部として$http.post方法に追加される:上記の例で

var params = { name: value, 
       name2: value2 
       }; 
$http.post(url, data, { params: params }); 

、$ HTTPサービスは、URLに?name=value&name2=value2を追加します。 data引数は、POST要求の本体に配置されます。 data引数がオブジェクトの場合、デフォルトのtransformRequest関数を使用して文字列に変換されます。

詳細については、AngularJS $http Service API Referenceを参照してください。

関連する問題