使用$POST AJAX将变量从php返回到WP中的js响应

时间:2013-09-06 作者:Derfder

我的JavaScript部分有以下内容:

$.post(
    WPaAjax.ajaxurl,
    {
        action : \'my_php_action_to_do\',
    },
    function( response ) {
        alert( response.mycode );
    }
);
这是我的my_php_action_to_do php函数:

function my_php_action_to_do() {

    $send_to_response[\'mycode\'] = \'1234\';
    echo json_encode( $send_to_response );
    exit();

}
我可以在php函数中执行php代码,并在javascirpt代码后运行结果,但我面临的问题是如何将php函数中的变量发送回响应,并向其发出警报或以任何方式使用。

现在我undefined 结果显示在弹出窗口中。

如何在WordPress中做到这一点?

1 个回复
最合适的回答,由SO网友:cybmeta 整理而成

您需要通过ajax请求发送var:

$.post(
//be suer that this var is pointing to wp-admin/admin-ajax.php
WPaAjax.ajaxurl,
{
    action              : \'my_php_action_to_do\',
    //here your var and its value
    my_var              : \'the_value\'
},
function( response ) {
    response = jQuery.parseJSON(response);
    alert(response.message);
}
);
在my\\u php\\u action\\u to\\u do函数中:

function my_php_action_to_do(){
    $var[\'message\'] = $_POST[\'my_var\'];
    //Send back the $var value in json format. You can send it in other format if you want
    echo json_encode( $var );
    exit();
}

//Don\'t forget to add your my_php_action_to_do function to wp_ajax_* action hook.

add_action(\'wp_ajax_my_php_action_to_do\', \'my_php_action_to_do\');
//or this if you want it to work in the frontend
add_action(\'wp_ajax_nopriv_my_php_action_to_do\', \'my_php_action_to_do\');

结束

相关推荐

AJAX模板:如何处理Head部分

我知道这很容易,但我对这方面还不熟悉,我不知道哪种方法是最好的。背景我正在使用的模板是一个基于UA嗅探的双主题桌面/移动平台<现在,我只是通过询问增加了响应能力。js和ajax,一切都变了:我正在努力让事情正常工作,这是我第一次处理ajax。方案车型年款template 是通过ajax动态加载的,事实上,如果您尝试将窗口宽度调整到1080px以下,将显示移动模板。(它也会出现在每个移动设备上,但这对美国atm并不重要)因此,在enquire.js 和ajax调用(请参见下面的代码)。最初,模板是静态