Данные JQuery Mobile POST пустые в $ _POST

У меня проблема с JQuery Mobile (новичок для меня) и AJAX-вызов. Я использую следующий код:

$.ajax({ type: "POST", url: "http://**correct url**/post/todoitem", beforeSend: addHeaders, dataType: "json", contentType: "application/json", data: { "todoitem":"test" }, // this is just as a test success: function(result) { alert("Success: " + JSON.stringify(result)); }, error: function() { alert("Error: " + JSON.stringify(arguments)); } }); 

Выполняя это, он вызывает скрипт PHP, где мне нужны данные из todoitem, поэтому в этом случае строка «текст» (в конце концов, нужно отправить несколько переменных, но на данный момент я просто использую один параметр для простота).

Мой PHP-код выглядит так (также для тестирования):

 echo json_encode($_POST)); 

Результат: ничего, null. $ _POST кажется пустым. Я искал и пробовал много вещей, но большинство ответов (даже здесь, в stackoverflow) касаются форм, и люди говорят, что мне нужно сериализовать содержимое формы. Однако я вообще не использую форму.

Я также пробовал

 data: JSON.stringify({ "todoitem" : "test" }) 

как предполагали некоторые, но это тоже не сработало. Я знаю, что данные передаются из-за этого небольшого PHP-взлома, который я пробовал:

 echo file_get_contents('php://input'); 

Это точно показывает данные: todoitem = test. Так где же все это идет не так? Я работаю над этим уже несколько дней! Thnx заранее

Проблема с этой частью вашего кода:

 contentType: "application/json",` 

Удаление этой строки должно сделать отправленный заголовок Content-Type умолчанию для application/x-www-form-urlencoded а PHP будет декодировать запрос в $_POST .