wordpress: get js to php



我在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);
    }
});

相关内容

  • 没有找到相关文章