CodeIgniter没有收到POST数据

Sup*_*REX 3 php codeigniter angularjs restangular

我已经有一个基于Codeigniter的RESTful api服务,它对mySQL数据库执行基本的CRUD操作.现在我正在尝试用angularJS和Restangular制作一个控制面板.

我发这样的POST请求:

HTML:

<form ng-submit="addUser()">
   <input type="text" name="name" ng-model="newUser.name" placeholder="Enter Your Name" />
   <input type="text" name="fact" ng-model="newUser.fact" placeholder="Enter A Fact" />
   <input class="pure-button" type="submit" value="Send" />
</form>
Run Code Online (Sandbox Code Playgroud)

JS:

$scope.addUser = function ()
{
    var newuser = $scope.newUser;
    Restangular.one("user").post(newuser).then(function(data) {
      console.log(data);
    })
}
Run Code Online (Sandbox Code Playgroud)

PHP(使用Codeigniter的inpu类):

$data = array(
    'name' => $this->input->post('name'),
    'fact' => $this->input->post('fact')
);
Run Code Online (Sandbox Code Playgroud)

然后它将$ data数组写入数据库.但在数据库中,值始终为0,这意味着$ data ['name']和$ data ['fact']为空.

我想我应该在PHP中以不同的方式处理数据,但我该怎么做呢?或者POSTed数据的类型是什么?

Whi*_*her 5

尝试

$data = file_get_contents("php://input"); 
$data = json_decode($data,true); 
Run Code Online (Sandbox Code Playgroud)

:)