2016-09-10 5 views
2

私はangularjs経由で投稿要求を出しています。Angularjs:最初のAJAXリクエストの後でng-modelバインディングが機能しない

<input class="form-control" ng-model="hotel.hotel_name" type="text"> 
<input class="form-control" ng-model="hotel.hotel_loc" type="text"> 
<input type="button" value="Submit" name="Submit" ng-click="addHotel(hotel)" class="btn btn-sm btn-primary"> 

コントローラ

$scope.addHotel=function(hotel){ 
    $http({ 
      method:"POST", 
      data:{'hotel':hotel}, 
      url:base_url+'operator/hotel/add_hotel' 
     }).then(function serverResponse(response){ 
      //clear the old form data 
      $scope.hotel=[]; 
    }) 
} 

正常に処理されたデータは、$scope.hotel=[]

古い形式のデータをクリアしかし、私はいくつかの値でフォームを再送信するとき、それは私がundefiendを取得します読み取ることができないしたら

$scope.addHotel=function(hotel){ 
    //undefiend 
    console.log(hotel); 
    } 

注: 投稿は初めてで、応答は成功しましたが、それ以降は実行できません。

+0

'scope'オブジェクトに' hotel'を定義しましたか? – brk

+0

ホテルは配列ではないオブジェクトです$ scope.hotel = {} – Manish

+0

@ user2181397:ビュー内のマークアップは – Paritosh

答えて

1

hotelarrayに設定しています。代わりにobjectに設定する必要があります。

$http({ 
     method:"POST", 
     data:{'hotel':hotel}, 
     url:base_url+'operator/hotel/add_hotel' 
    }).then(function serverResponse(response){ 
     //clear the old form data 
     $scope.hotel={}; //this is what you should do 
}); 

または空の文字列に設定します。

$scope.hotel.hotel_name = ''; 
$scope.hotel.hotel_loc = ''; 
+0

うんうんだよ –

+0

@BlessanKurien:答えとしてマークすることができます! – Paritosh

関連する問題