Ajax object comes back empty

时间:2013-01-24 作者:Roman Epicnerd Sharf

我正在编写一个带有ajax请求的插件,我遇到了一个奇怪的问题。它最初几次工作正常,但突然之间,数据变成空的或空的。

代码如下:

/* in functions.php */
add_action( \'wp_ajax_rs-MYajaxAction\', \'wpw_display_js_vars\');
add_action( \'wp_ajax_nopriv_rs-MYajaxAction\', \'wpw_display_js_vars\');

function wpw_display_js_vars() {
    var_dump($_POST[\'uid\']);
    //outputs null
    die();
}
以及:

/* p_name, user_meta.current_user_id, clicked_post and ajaxurl 
 * are all global defined in another part of the script 
 */
$(\'.walkthrough-list\').find(\'a\').each(function() {
    $(this).click(function() {
        $.post(
            ajaxurl,
            {
                action: "rs-MYajaxAction",
                p: p_name, 
                uid : user_meta.current_user_id,
                tut_name : clicked_post
            },
            function(resp) {
                console.log(resp);
        });// end $.post 
        return false;
});
<支持>As a jsfiddle

数据发布到时“丢失”有什么原因吗admin-ajax.php?

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

这个stackoverflow答案是基本ajax发布的一个很好的例子。

https://stackoverflow.com/questions/5004233/jquery-ajax-post-example

我会尝试调整您的代码,以便您要发布的信息位于data 参数jQuery并不是我最擅长的,但我的印象是$\\u POST数据就是通过这个参数得到的。

$(\'.walkthrough-list\').find(\'a\').each(function() {
    $(this).click(function() {

        data = \'p=\'+p_name+&uid=\'+user_meta.current_user_id+\'&tut_name=\'+clicked_post;
        $.post(
            ajaxurl,
            {
                action: "rs-MYajaxAction",
                data: data
            },
            function(resp) {
                console.log(resp);
        });// end $.post 
        return false;
});
当然,可能有更好的方法来序列化数据。

结束

相关推荐

我无法从AJAX php调用访问WordPress函数

我见过一些类似的问题,但我找不到解决问题的方法。<?php add_action(\'wp_ajax_nopriv_LogHit_callback\', \'LogHit_callback\'); add_action(\'wp_ajax_LogHit_callback\', \'LogHit_callback\'); function HitCount() { ?> <script type=\"text/javascript\" >