我在JS页面中有一个JSON对象。我想在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.log(campi);
},
error: function(errorThrown){
console.log(errorThrown);
}
});
page:pag.php
function example_ajax_request() {
$campi = $_POST['campi'];
echo "<script>console.log( 'Debug Objects: " . $campi . "' );</script>";
$json_data = json_decode($campi, true);
echo "<script>console.log( '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' );
consolle向我展示:
-debug对象://由于echo" console.log('调试对象:"。$ campi。"(;";
-debug对象:阵列//由于echo" console.log('debug objects:"。$ json_data。''(;
{0:{1:'',2:'',3:''}}
我无法理解它不起作用的原因,也不知道如何调试。谢谢你们
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.log(campi);
},
error: function(errorThrown){
console.log(errorThrown);
}
});