WordPress AJAX无法工作(自定义管理页面)

时间:2016-04-24 作者:Sasa1234

我尝试使用Ajax做一件小事。我只是想换一个div。

这就是我到目前为止所做的。

我使用创建了管理菜单add_menu_page.

然后,我向该页面添加一个带有文本字段的表单。单击submit按钮时,我只需要替换一个div。但它没有起作用。当我在浏览器中检查控制台时,它会显示Uncaught TypeError: Cannot read property \'ajax\' of undefined

<小时>

function myajaxfunction() {
    $.ajax({ //ajax request
        url: ajaxurl,
        data: {
            \'action\':\'rs_like_request\',
            \'post_type\' : $(\'#post_type\').val() // value of text box having id "post_type"

        },
        success:function(data) {  //result
         $(".showdiv").html(data); //showdiv is the class of the div where we want to show the results
        },
        error: function(errorThrown){
            console.log(errorThrown);
        }
    });  

}
<小时>
<form action="" method="post">
    <label>Write post type : </label>
    <input type="text" name="post_type" id="post_type" value=""/>
    <input type="button" value="Show Post Titles" onclick="myajaxfunction()"/>

    <div class="showdiv"></div>

</form>
<小时>
function rs_like_count() {

    if ( isset($_REQUEST) ) {   // $_REQUEST is having all the data sent using ajax
        $post_type= $_REQUEST[\'post_type\'];
        echo $post_type;

}
 die();
}
add_action( \'wp_ajax_rs_like_request\', \'rs_like_count\' );

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

未捕获的TypeError:无法读取未定义的属性“ajax”

@Sasa1234,它的发生是因为jQuery未定义。请看一看@EAMann answer. 因此,您的JS代码应该如下所示:

function myajaxfunction() {
    if ( undefined !== window.jQuery ) {
        jQuery.ajax({ //ajax request
            url: ajaxurl,
            data: {
                \'action\':\'rs_like_request\',
                \'post_type\' : jQuery(\'#post_type\').val() // value of text box having id "post_type"

            },
            success:function(data) {  //result
             jQuery(".showdiv").html(data); //showdiv is the class of the div where we want to show the results
            },
            error: function(errorThrown){
                console.log(errorThrown);
            }
        });  
    }
}

相关推荐

将用户从wp-admin(而不是管理员)重定向

我想重定向除管理员以外的所有用户,使其远离wp admin页面如果登录用户尝试访问/wp admin,则他们将被重定向回主页现在他们看到一个页面,上面写着;抱歉,不允许您访问此页面<你们能帮我在函数中构造一个函数吗。php文件来检查这些条件并重定向<这就是我所拥有的,它并不是为了我想要的。function acme_login_redirect( $redirect_to, $request, $user ) { return ( is_array( $user->role