1

次のサイトで angularjs $http.postショートカット メソッドを読んでいますhttp://docs.angularjs.org/api/ng .$http#methods_post

次の 3 つのパラメーターを受け入れます。

post(url, data, config)

現在、ビューからデータを渡す方法に問題があります。これは、ユーザーに ID と ContactNumber の入力を求めるビュー コードです。

<div data-ng-controller="postreq">
    <form>
    RequestID:<input type="text" data-ng-model="request.Id"/>
    ContactNo:<input type="text" data-ng-model="request.newcontact"/>
    <button data-ng-click="add()">Add</button>

    </form>
</div>

ここで、Angularjs コントローラーで試していることが機能していません。入力された request.Id と request.newcontact の値を取得する方法がわかりません。

function postreq($scope, $http) {

    $scope.add = function ()
    {
     $http.post(
    '/api/request',
    JSON.stringify(**?????? here i am confused how to pass data**),
    {
        headers: {
            'Content-Type': 'application/json'
        }
    }
).success(function (data) {
    $scope.request= data;
});

}
4

3 に答える 3

3

以下は、Angular で $http 投稿を行う方法の基本的な例です。

 $http({
    cache: false,
    url: "/api/request",
    method: "POST",
    data: {email: "my_login_email@example.com", password: "123456"}
  }).
  success(function (data) ->
    // here the "data" parameter has your response data
  ).
  error(function () ->
    // if you are here something is not going so good
  )

また、Angular は通常の形式のようにデータを POST しないことに注意してください (これはバックエンド システムによっては非常に重要です。たとえば、PHP では $_POST を使用できません)。そのためには、もう少し作業が必要です。

// your module
myModule = angular.module("myModule ", []);
// you module config
myModule.config (["$httpProvider", function($httpProvider) {
   $httpProvider.defaults.transformRequest = function (data) {
       if data == undefined {
         return data
       }
       return $.param(data)
   }
   $httpProvider.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8"
}])

また、jQuery である $.param にも注意してください。jquery を使用しない場合は、他の方法でこれを行うことができます。

于 2013-11-12T10:44:28.907 に答える
0

次の構文を使用できます。

$http.post(
'/api/request',
$scope.request,
{
    headers: {
        'Content-Type': 'application/json'
    }
});
于 2013-11-12T09:13:30.473 に答える