Перехват данных в php-скрипте, отправленном через Ajax и jQuery

Кажется, я не могу восстановить данные, отправляемые в php-скрипт. При мониторинге инструментов Chrome (сети-> xhr-> заголовки) длина содержимого также дает 0.

И на вкладке Response ошибки такие:

«Автоматическое заполнение $HTTP_RAW_POST_DATA устарело и будет удалено в будущей версии». "Невозможно изменить информацию заголовка - заголовки уже отправлены в Неизвестно в строке 0"

Код, запускающий jQuery/Ajax POST (на index.html): var name = "john";

$.ajax({
type: 'POST',
contentType: 'application/json',
url: "http://localhost:8000//mobile/hi.php",
date: name,
success: function(){alert("sent");}
});

И файл php, который находится на отдельной странице (hi.php):

<?php
$data = $_POST['name'] or $_REQUEST['name'];
echo $data;
?>

Как мне просто перехватить данные, отправленные в переменную php? заранее спасибо


person Jupiter    schedule 23.02.2016    source источник


Ответы (1)


Вы неправильно используете jQuery Ajax:

$.ajax({
    url: "http://localhost:8000/mobile/hi.php",
    type: 'POST',
    dataType: 'json',
    data: {
        name: name
    },
    success: function(){
        alert("sent");
    }
});
person T'lash    schedule 24.02.2016
comment
Спасибо @T'lash! Два вопроса: если бы я хотел отправить объект json, я бы использовал в поле данных: data: {json: objName}? - person Jupiter; 24.02.2016
comment
а вы знаете, как восстановить отправленные данные в php-скрипте? - person Jupiter; 24.02.2016
comment
Объект JSON — это объект JavaScript, поэтому вам просто нужно поместить его в объект данных. Чтобы использовать его, вы должны десериализовать его в объект PHP с помощью функции json_decode($_POST['json']). Вы также можете сериализовать свой ответ с помощью json_encode($your_response). - person T'lash; 24.02.2016