我正在尝试序列化表单并使用http POST方法将其发送到服务器...
我有jquery的代码如下..
var data = $scope.modal.element.find('form').serialize();
$.ajax({
type: "POST",
url: "/user/add.html",
data: data
}).success(function(ret){
$scope.modal.body = $sce.trustAsHtml(ret);
$http.get("/user/list.json").success(function(data){
$scope.users = data;
});
});
上面的代码工作正常...当我使用angular来发布数据时,使用以下代码...
var data = $scope.modal.element.find('form').serialize();
$http.post("/user/add.html", data).success(function(html){
$scope.modal.body = $sce.trustAsHtml(html);
$http.get("/user/list.json").success(function(data){
$scope.users = data;
});
});
服务器吓坏了......并且无法理解发送的任何变量...... 服务器返回一个错误,说我的所有字段都是空的......(它无法解析它)
我已经阅读了一些答案,其中涉及编辑表单的html并使用ng-model
来获取变量,不幸的是我可以做到这一点......
请告诉我这两种方法之间的区别是什么......以及为什么一个人工作而另一个人不工作......
PS:我想使用angular来POST数据
答案 0 :(得分:1)
尝试这样做:
var data = $scope.modal.element.find('form').serialize();
$http({
method: 'POST',
url: "/user/add.html",
data: data,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).success(function(html){
$scope.modal.body = $sce.trustAsHtml(html);
$http.get("/user/list.json").success(function(data){
$scope.users = data;
});
});