2016-06-03 3 views
2

Ich sende Daten an einen API REST Service über den Ajax $http Service von AngularJS, aber php sagt immer, dass der Index nicht definiert ist. Ich habe viele Posts auf SO überprüft, die nach dem gleichen Fehler fragen, und ich habe alles versucht, was sie sagen, aber ich bekomme immer noch den gleichen Fehler.

Wie ich bin mit dem $http Service:

$http({ 
    method: 'POST', 
    url: window.location.pathname+'/../../api/tasks/'+$id, 
    data: { 
     'title': $scope.allData.taskData[0].title, 
     'content': $scope.allData.taskData[0].content, 
     'usersInTask': $scope.allData.taskUsers 
    }, 
    contentType: 'application/json', 
    dataType: 'json', 
    headers: {'Content-Type': 'application/json'} 
}) 
.then(function success(response){ 

    $scope.closeDialog(); 
}, function error(response){ 
    console.log("Error:" +response.statusText); 
}); 

Wie ich versuche Werte in PHP zu erhalten:

$title = $_POST['title']; 
$content = $_POST['content']; 
$users = $_POST['users']; 

In diesem Fall zum Beispiel, sagt sie immer, dass title eine ist undefined Index von $_POST

Antwort

2

Um Daten zuerst zu lesen, müssen Sie es im POST-Format decodieren.

0

Da Sie Daten es Anwendung/Json-Format posieren müssen Sie es von rohen POST-Daten lesen. Versuchen Sie dies:

$postData = json_decode(file_get_contents("php://input")); 
$title = $postData->title; 
$content = $postData->content; 
+0

Ich war in der Lage, die Daten so zu bekommen, aber beim Versuch, auf seine Elemente zuzugreifen, sagte es gerade "" Notiz: Versuch, Eigenschaft von Nicht-Objekt zu bekommen "' – Drumnbass

Verwandte Themen