2013-12-14 4 views
2

У меня уже есть служба RESTful api, основанная на Codeigniter, которая выполняет базовые операции CRUD в базе данных mySQL. И теперь я пытаюсь создать панель управления с угловыми и консольными.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 (используя класс inpu CodeIgniter в):

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

И то он записывает $ data arra y в базу данных. Но в базе данных значения всегда равны 0, что означает, что $ data ['name'] и $ data ['fact'] пусты.

Я думаю, что я должен обрабатывать данные по-разному в PHP, но как я могу это сделать? Или какой тип данных POSTed?

+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); 

:)

Смежные вопросы