У меня есть объект JSon на странице js. Я хочу получить эти данные на странице php.
Страница: ajax.js:
var campi = {0: {1: ' ', 2: ' ', 3: ' '}};
campi=JSON.stringify(campi); //thank you @Musa
$.ajax({
url: example_ajax_obj.ajaxurl,
type: 'POST',
data: {
'action': 'example_ajax_request',
'campi' : campi
},
success:function(data) {
console.info(campi);
},
error: function(errorThrown){
console.info(errorThrown);
}
});
Страница: page.php
function example_ajax_request() {
$campi = $_POST['campi'];
echo "<script>console.info( 'Debug Objects: " . $campi . "' );</script>";
$json_data = json_decode($campi, true);
echo "<script>console.info( 'Debug Objects: " . $json_data . "' );</script>";
}
add_action( 'wp_ajax_example_ajax_request', 'example_ajax_request' );
add_action( 'wp_ajax_nopriv_example_ajax_request', 'example_ajax_request' );
add_action( 'wp_enqueue_scripts', 'example_ajax_request' );
Консоль показывает мне:
-Debug Objects: // из-за echo "console.info ('Debug Objects:". $ Campi. "');";
-Debug Objects: массив // из-за echo "console.info ('Debug Objects:". $ Json_data. "');";
{0: {1: '', 2: '', 3: ''}}
Я не могу понять причину, по которой это не работает, и я не знаю, как отлаживать. Спасибо вам, ребята
Я вижу console.info (campi); и это правильно. JS Consolle не показывает никаких ошибок. Я перешел на "POST", но ничего не изменилось.
Вы видите исходящий сетевой запрос?
Я использовал «инспектировать», «сеть» и вижу файлы «ajax.js», «page.php» отсутствует. Я вижу файл. Это то, о чем вы просите? Извините, но я новичок в отладке

campi - это не JSON, вам придется преобразовать его в JSON, прежде чем отправлять
$.ajax({
url: example_ajax_obj.ajaxurl,
type: 'post',
data: {
'action': 'example_ajax_request',
'campi' : JSON.stringify(campi) //<-- here
},
success:function(data) {
console.info(campi);
},
error: function(errorThrown){
console.info(errorThrown);
}
});
Я преобразовал с помощью stringify. Я вижу это правильно в консоли, но не могу использовать на странице php.
Видите ли вы, что исходящий сетевой запрос выполнен с помощью инструмента проверки вашего веб-браузера? Вы импортировали библиотеку jQuery в свой javascript? Любая ошибка в консоли JS? Изменить Почта на ПОЧТА?