Почему у моего php-сервера нет данных json post?

У меня есть массив json:

[Object { path="/usr/share/htvcenter/storage/Windows", imgid="14698227485587"}, Object { path="/usr/share/htvcenter/storage/WindowsServer", imgid="14701636866762"}] 

И я отправляю этот массив с помощью ajax:

 $.ajax({ type: 'POST', url: urlstring, contentType: "application/json", data: JSON.stringify(parameters), success: function(data){ $('.lead').hide(); blackalert('Removed successfully!'); } }); 

Я вижу это в firebug для отправки почты: введите описание изображения здесь

Но ответ сервера с пустым $ _POST: введите описание изображения здесь

Код сервера:

 if (isset($_GET['treeaction']) && $_GET['treeaction'] == 'remove') { echo 'here'; var_dump($_POST); die(); } 

Что я делаю неправильно?

Когда вы отправляете запрос POST вам не нужно устанавливать тип контента в application/json . Таким образом, это уже не регулярный запрос POST (со значениями формы), а запрос полезной нагрузки.

Чтобы получить данные из запроса полезной нагрузки на вашем сервере, вы можете использовать:

 $content = file_get_contents("php://input"); var_dump(json_decode($content)); // In case the content is a json string. 

Если вы хотите отправить обычный запрос, вы можете использовать:

 $.ajax({ type: 'POST', .... data: {'data' : parameters}, success: function(data){ alert(data); } }); 

Без contentType и без JSON.stringify .
Таким образом вы можете получить данные с помощью $_POST['data']