2013-12-14 59 views
2

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

我做一个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> 

JS:

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

PHP(使用CodeIgniter的inpu类):

$data = array(
    'name' => $this->input->post('name'), 
    'fact' => $this->input->post('fact') 
); 

而且那么它写入$数据阵列y到数据库。但是在数据库中,值始终为0,这意味着$ data ['name']和$ data ['fact']是空的。

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

+0

尝试像$数据=的file_get_contents( “PHP://输入”); $ data = json_decode($ data,true); – Whisher

+0

非常感谢,它的工作。 – SuperioREX

+0

@Whisher作为回答发布您的回复,以便OP可以标记为答案:) –

回答

3

尝试

$data = file_get_contents("php://input"); 
$data = json_decode($data,true); 

:)