Когда я отправляю данные в файл PHP с помощью поста AngularJS $ http, тип данных должен быть строкой. Но когда я пытаюсь получить выходные данные из файла PHP (я просто просто передаю $_POST['string']
) функцией then, они автоматически каким-то образом изменяются на тип [object Object]
.
Вот код:
JS:
$http({
method:"POST",
type:"json",
url:"./forms/crud.php",
data:{id:cId}
}).then(function (d) {
alert(d.config.data.id);
console.log(d);
})
PHP:
if(is_post_quest()){
echo $_POST['id'];
}
Вывод на консоль:
{data: "", status: 200, headers: ƒ, config: {…}, statusText: "OK", …}
Я могу получить доступ к данным id, набрав d.config.data.id, что не совсем то, что я хочу.
Мне кажется, проблема в том, что получение данных из AngularJs в PHP-файле несколько отличается от использования AJAX.
Для AJAX, для получения данных буквально просто нужно использовать $_POST['id']
.
Однако для AngularJS HTTP POST-запроса необходимо ввести что-то вроде:
$data = json_decode(file_get_contents("php://input"));
echo $data->id;
А вот как это выглядит сейчас.
{data: "568", status: 200, headers: ƒ, config: {…}, statusText: "OK", …}