如何从控制器

时间:2016-07-13 15:31:13

标签: angularjs codeigniter

我正在使用AngularJS和codeigniter。在这里,我想将我的emp_id从AngularJS控制器传递给codeigniter控制器。

这里我使用$http.post将我的id传递给php。但是我没有在php控制器中获得任何id。我也尝试过其他$http方法,但我无法做到。

Angular js控制器

angular.module('Myapp').controller('MYcntroller', function ($rootScope,  $scope, $http, $timeout) {
    $scope.$on('$viewContentLoaded', function() { 
        App.initAjax(); // initialize core components
        Layout.setSidebarMenuActiveLink('set', $('#sidebar_menu_link_empmng'));  // set profile link active in sidebar menu 
    });

    // set sidebar closed and body solid layout mode
    $rootScope.settings.layout.pageBodySolid = true;
    $rootScope.settings.layout.pageSidebarClosed = false;

    var emp_id = 100;

    $http.post(base_url+"CI_controller/getData", {'emp_id': emp_id})
    .success(function (response) {
        // alert(response)
        $scope.data = response.data
    });

}); 

Php控制器

public function getData() {
    //here $emp_id is null why?
    $emp_id = $this->input->post('emp_id');
    $emp_data=$this->model->employee_details($emp_id );
    echo '{"data":'.json_encode($emp_data).'}';
}

1 个答案:

答案 0 :(得分:0)

像这样使用http帖子。

$http.post(base_url+"CI_controller/getData", {"emp_id": emp_id})
    .success(function (response) {
        // alert(response)
        $scope.data = response.data
    });

因为JSON Object键必须是字符串(即用双引号括起来的字符序列“)。