C’è un modo più efficace per serializzare un modulo con angularjs?

C’è un modo per serializzare la funzione per angularjs?

il mio post appare così adesso.

$scope.signup_submit = function () { var formData = { username: $scope.username, full_name: $scope.full_name, email: $scope.email, password: $scope.password, confirm_password: $scope.confirm_password } $http({ method: "POST", url: '/signup', data: formData, }).success(function (data) { if (data.status == 'success') { alert('all okay'); } else { alert(data.msg) } }); } 

Non è così che dovresti accedere ai dati del modulo usando AngularJS. I dati nel modulo devono essere associati nell’ambito.

Quindi usa un object, ad esempio $ scope.formData, che conterrà tutta la tua struttura di dati, quindi ognuno degli elementi del tuo modulo dovrebbe essere associato a questo usando ng-model.

per esempio:

http://jsfiddle.net/rd13/AvGKj/13/

 
function MyCtrl($scope) { $scope.formData = {}; $scope.submit = function() { console.log(this.formData); }; }

Quando viene inviato il modulo di cui sopra $ scope.formData conterrà un object del tuo modulo che potrà quindi essere passato nella tua richiesta AJAX. per esempio:

 Object {name: "stu", address: "england"} 

Per rispondere alla tua domanda, non esiste un metodo migliore per “serializzare” i dati di un modulo utilizzando AngularJS.

È comunque ansible utilizzare jQuery: $ element.serialize (), ma se si desidera utilizzare Angular correttamente, procedere con il metodo precedente.