本人更改公司一个项目,将JQuery中的$.ajax更改成AngularJS中的$http,原来提交数据的时候是$("#form").serialize(),而现在提交数据需要将数据一个个列出来封装成json提交,这里就是想问,angularjs中有没有方法可以向前者一样,一次性将全部的表单数据提交。(PS:公司要求项目中不要再用JQuery)
人生最曼妙的风景,竟是内心的淡定与从容!
<input ng-model="user.name"> <input ng-model="user.age">
Namakan ng-model dengan cara di atas dan gunakan controller terus dalam $scope.user untuk mendapatkan objek.
ng-model
controller
$scope.user
Nyatakan atribut nama untuk elemen borang, dan kemudian borang akan menentukan pengawal borang dengan nama ini dalam skop di mana ia berada.
Contohnya
<form name="myForm"> <input name="myInput"> </form>
Kemudian gunakan operasi berikut untuk mendapatkan nilai
function getFormValue(formCtrl) { return Object .keys(formCtrl) .filter(function(key) { return key[0] != '$'; } .reduce(function(res, key) { res[key] = formCtrl[key].$modelValue; return res; }, {}); } getFormValue($scope.myForm); // output: {myInput: "..."}
Namakan
ng-model
dengan cara di atas dan gunakancontroller
terus dalam$scope.user
untuk mendapatkan objek.Nyatakan atribut nama untuk elemen borang, dan kemudian borang akan menentukan pengawal borang dengan nama ini dalam skop di mana ia berada.
Contohnya
Kemudian gunakan operasi berikut untuk mendapatkan nilai