2013-12-14 99 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); 

:)