I have form like below. Here I have taken value of each element and send it to server via ajax call. Is their any easy way to send request to server using all values in form ?? I am a newbie please help. My form has a lot of element its very hard to take value of all element, is their any alternative method?
<div ng-app="Myapp">
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-route.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-messages.js"></script>
<script>
var Myapp = angular.module('Myapp', ["ngRoute"]);
</script>
<div ng-controller="orderFormController">
Item1<input type="text" name="item1" ng-model='item1'><p></p>
Item2 <input type="text" name="item2" ng-model='item2'><p></p>
Item3 <input type="text" name="item3" ng-model='item3'><p></p>
Item4 <input type="text" name="item4" ng-model='item4'><p></p>
Item5 <input type="text" name="item5" ng-model='item5'><p></p>
<button type="button" ng-click='saveAll()' >SAVE ORDER</button>
</div>
<script>
Myapp.controller('orderFormController', ['$scope', '$http', function ($scope, $http) {
var data = {};
$scope.saveAll = function () {
data = {'item1': $scope.item1,'item2': $scope.item2,'item3': $scope.item3,'item4': $scope.item4}
$http.post("order/save/", data
).success(function (res, status, headers, config) {
if (res == 'success')
{
$scope.message = res;
}
else
{
$scope.message = res;
}
}).error(function (res, status) {
$scope.message = res;
});
}
}]);
</script>
Place a parent object on the scope and wire your properties to it. The parent object is then what you send.
<div ng-app="Myapp">
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-route.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-messages.js"></script>
<script>
var Myapp = angular.module('Myapp', ["ngRoute"]);
</script>
<div ng-controller="orderFormController">
Item1<input type="text" name="item1" ng-model='data.item1'><p></p>
Item2 <input type="text" name="item2" ng-model='data.item2'><p></p>
Item3 <input type="text" name="item3" ng-model='data.item3'><p></p>
Item4 <input type="text" name="item4" ng-model='data.item4'><p></p>
Item5 <input type="text" name="item5" ng-model='data.item5'><p></p>
<button type="button" ng-click='saveAll()' >SAVE ORDER</button>
</div>
<script>
Myapp.controller('orderFormController', ['$scope', '$http', function ($scope, $http) {
var data = {};
$scope.data = data;
$scope.saveAll = function () {
$http.post("order/save/", data
).success(function (res, status, headers, config) {
if (res == 'success')
{
$scope.message = res;
}
else
{
$scope.message = res;
}
}).error(function (res, status) {
$scope.message = res;
});
}
The right way is to just send your model to the server, using $resource
(for REST)
<div ng-controller="orderFormController">
Item1
<input type="text" name="item1" ng-model='item.item1'><p></p>
Item2
<input type="text" name="item2" ng-model='item.item2'><p></p>
Item3
<input type="text" name="item3" ng-model='item.item3'><p></p>
Item4
<input type="text" name="item4" ng-model='item.item4'><p></p>
Item5
<input type="text" name="item5" ng-model='item.item5'><p></p>
<button type="button" ng-click='saveAll()' >SAVE ORDER</button>
</div>
$scope.item.$save(function(data) {
});
$item
is a angularjs resource
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.