При попытке Почта объекта JS с кодом от jQuery 2.1.x до PHP 7.1 серверная часть PHP получает пустой объект со следующим кодом:
JS:
$("#newTabLink").click(function(e) {
ntn++;
console.info('ntn = ' + ntn + ' / id =' + id);
id++;
var tabData = new Object();
var tc = $('#tabs').children().length;
console.info('tc = ' + tc)
tabData.label = 'New Tab ' + ntn;
tabData.pos = tc;
$.ajax({
url: 'services/save_obj.php',
type: 'POST',
data: JSON.stringify(tabData),
async: true,
dataType: 'json',
cache: false,
contentType: "application/json; charset=utf-8",
encode: true,
success: function(response) {
if (response.success == true) {
id = response.id;
} else if (response.success == false) {
alert('Aww, something went wrong!');
}
}
});
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>сервисы / save_obj.php:
if (isset($_POST)) {
$strvalue = filter_input(INPUT_POST, 'label', FILTER_SANITIZE_STRING);
$user_id = filter_input(INPUT_POST, 'objsay', FILTER_VALIDATE_INT);
$lang = filter_input(INPUT_POST, 'lng', FILTER_SANITIZE_STRING);
$location = filter_input(INPUT_POST, 'loc', FILTER_SANITIZE_STRING);
$position = filter_input(INPUT_POST, 'pos', FILTER_SANITIZE_STRING);
var_dump($_POST);
}
Почесываю голову, пытаясь понять, что я здесь делаю не так. Любые идеи?
И используйте echo json_encode($_POST);



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы отправляете данные JSON из внешнего приложения, вы можете найти свои данные в php-скрипте, используя php: // input.
Пример:
услуги / save_obj.php
$input = file_get_contents('php://input');
if (!empty($input)){
$input = json_decode($input, true);
// ... some logic
}
Вы можете использовать глобальный $ _POST, только с данными формы.
Попробуйте заменить
data: JSON.stringify(tabData),наdata: tabData,