jquery post vs angular使用POST方法

时间:2014-10-10 23:58:59

标签: javascript jquery angularjs post

我正在尝试序列化表单并使用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数据

1 个答案:

答案 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;
        });
    });