从angularjs获取codeigniter中的post数组为空

时间:2015-03-30 13:58:57

标签: angularjs codeigniter-2

我将表单数据从angular提交到codeigniter,在codeigniter的控制器中将post数组清空。 请帮助我,谢谢。

这是angular的控制器

app.controller('step3', ['$scope', '$http', 'formdata', '$location', function($scope, $http, formdata, $location) {
$scope.formdata = formdata;
$scope.sendData = function($event) {
    console.log(formdata);
    $http.post(api_url + '/submit-agency-registration-form', {
        headers: {
            'Content-type': "application/x-www-form-urlencoded; charset=utf-8"
        },
        formdata: formdata
    }).success(function(data) {
        alert(data);
    });
    $event.preventDefault();
};

}]);

我正在使用名为formdata的工厂:

app.factory("formdata", function() {
    return {};
});

我得到$ _POST ['formdata'];或$ this-> input-> post('formdata');在codeigniter的控制器中未定义。

2 个答案:

答案 0 :(得分:0)

你邮政方法中的参数是否正确? 你不必那样写吗?

$http.post(api_url + '/submit-agency-registration-form',
    {formdata: formdata}, {
    headers: {
        'Content-type': "application/x-www-form-urlencoded; charset=utf-8"
    }
})

答案 1 :(得分:0)

找到了答案

app.controller('step3', ['$scope', '$http', 'formdata', '$location', function($scope, $http, formdata, $location) {
$scope.formdata = formdata;
$scope.sendData = function($event) {
console.log(formdata);
$http({
           url: api_url + '/submit-agency-registration-form',
           method: "POST",
           data: 'formdata=' + JSON.stringify(formdata),
           headers: {
               'Content-Type': 'application/x-www-form-urlencoded'
           }
       }).success(function(data) {
           alert(data);
       });
        $event.preventDefault();
}; }]);

我正在像codeigniter控制器那样捕获数据

$postdata=json_decode($_POST['formdata'],true);