Php 如何在wordpress中发送ajax请求而不显示零

Php 如何在wordpress中发送ajax请求而不显示零,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我正在尝试向wordpress中的另一个php页面发送ajax请求。但是每次它返回零和其他结果。我需要删除零。我试着去死;删除零。但调用此命令后,整个屏幕变为空白。我的代码在下面 Jquery <script type="text/javascript"> function key_press(){ jQuery.ajax({ url : '<?php echo get_admin_url()?>admin-ajax.php', type : 'POST', d

我正在尝试向wordpress中的另一个php页面发送ajax请求。但是每次它返回零和其他结果。我需要删除零。我试着去死;删除零。但调用此命令后,整个屏幕变为空白。我的代码在下面

Jquery

<script type="text/javascript">
function key_press(){
    jQuery.ajax({
url  : '<?php echo get_admin_url()?>admin-ajax.php',
type : 'POST',
data : jQuery('[name="ans_name"]').serialize()
}).done(function(result) {
// ta da
//alert("success");
jQuery("#widget_poll_id").html(result);

});
}

</script>   

我怎样才能摆脱这种情况呢?

这是因为你的行为没有被调用

您需要如下声明属性
action
,以便WP知道调用哪个操作

在您的特定情况下,您还必须声明
ans\u name
(与
data
相反),以便
$\u POST['ans\u name']
存在。我猜您希望在很多情况下调用此AJAX请求,因为您在钩子名称中使用了
$\u POST['ansu name']
。如果不是这样,我建议您使用一些静态的东西,因为当您不需要钩子时,可以在其他请求期间调用钩子

最后,我用WP-AJAX处理程序改进了您的代码,这将确保包含在AJAX请求期间可能需要的所有WP功能

<script type="text/javascript">
    function key_press(){

        var data = {
            url:        '<?php echo get_admin_url()?>admin-ajax.php',
            type:       'POST',
            action:     jQuery('[name="ans_name"]').serialize(),
            ans_name:   jQuery('[name="ans_name"]').serialize()
        };

        var myRequest = jQuery.post(ajax_object.ajaxurl, data, function(response){
            alert('Got this from the server: ' + response);
        });

        myRequest.done(function(){
            alert("success");
        });

    }
</script>   

add_action( 'wp_ajax_nopriv_'.$_POST['ans_name'], 'my_ajax' );
add_action( 'wp_ajax_'.$_POST['ans_name'], 'my_ajax' );
function my_ajax(){

    echo $_POST['ans_name'];

    die();  // Required for a proper Wordpress AJAX result

}

这是因为你的行为没有被调用

您需要如下声明属性
action
,以便WP知道调用哪个操作

在您的特定情况下,您还必须声明
ans\u name
(与
data
相反),以便
$\u POST['ans\u name']
存在。我猜您希望在很多情况下调用此AJAX请求,因为您在钩子名称中使用了
$\u POST['ansu name']
。如果不是这样,我建议您使用一些静态的东西,因为当您不需要钩子时,可以在其他请求期间调用钩子

最后,我用WP-AJAX处理程序改进了您的代码,这将确保包含在AJAX请求期间可能需要的所有WP功能

<script type="text/javascript">
    function key_press(){

        var data = {
            url:        '<?php echo get_admin_url()?>admin-ajax.php',
            type:       'POST',
            action:     jQuery('[name="ans_name"]').serialize(),
            ans_name:   jQuery('[name="ans_name"]').serialize()
        };

        var myRequest = jQuery.post(ajax_object.ajaxurl, data, function(response){
            alert('Got this from the server: ' + response);
        });

        myRequest.done(function(){
            alert("success");
        });

    }
</script>   

add_action( 'wp_ajax_nopriv_'.$_POST['ans_name'], 'my_ajax' );
add_action( 'wp_ajax_'.$_POST['ans_name'], 'my_ajax' );
function my_ajax(){

    echo $_POST['ans_name'];

    die();  // Required for a proper Wordpress AJAX result

}

这是因为你的行为没有被调用

您需要如下声明属性
action
,以便WP知道调用哪个操作

在您的特定情况下,您还必须声明
ans\u name
(与
data
相反),以便
$\u POST['ans\u name']
存在。我猜您希望在很多情况下调用此AJAX请求,因为您在钩子名称中使用了
$\u POST['ansu name']
。如果不是这样,我建议您使用一些静态的东西,因为当您不需要钩子时,可以在其他请求期间调用钩子

最后,我用WP-AJAX处理程序改进了您的代码,这将确保包含在AJAX请求期间可能需要的所有WP功能

<script type="text/javascript">
    function key_press(){

        var data = {
            url:        '<?php echo get_admin_url()?>admin-ajax.php',
            type:       'POST',
            action:     jQuery('[name="ans_name"]').serialize(),
            ans_name:   jQuery('[name="ans_name"]').serialize()
        };

        var myRequest = jQuery.post(ajax_object.ajaxurl, data, function(response){
            alert('Got this from the server: ' + response);
        });

        myRequest.done(function(){
            alert("success");
        });

    }
</script>   

add_action( 'wp_ajax_nopriv_'.$_POST['ans_name'], 'my_ajax' );
add_action( 'wp_ajax_'.$_POST['ans_name'], 'my_ajax' );
function my_ajax(){

    echo $_POST['ans_name'];

    die();  // Required for a proper Wordpress AJAX result

}

这是因为你的行为没有被调用

您需要如下声明属性
action
,以便WP知道调用哪个操作

在您的特定情况下,您还必须声明
ans\u name
(与
data
相反),以便
$\u POST['ans\u name']
存在。我猜您希望在很多情况下调用此AJAX请求,因为您在钩子名称中使用了
$\u POST['ansu name']
。如果不是这样,我建议您使用一些静态的东西,因为当您不需要钩子时,可以在其他请求期间调用钩子

最后,我用WP-AJAX处理程序改进了您的代码,这将确保包含在AJAX请求期间可能需要的所有WP功能

<script type="text/javascript">
    function key_press(){

        var data = {
            url:        '<?php echo get_admin_url()?>admin-ajax.php',
            type:       'POST',
            action:     jQuery('[name="ans_name"]').serialize(),
            ans_name:   jQuery('[name="ans_name"]').serialize()
        };

        var myRequest = jQuery.post(ajax_object.ajaxurl, data, function(response){
            alert('Got this from the server: ' + response);
        });

        myRequest.done(function(){
            alert("success");
        });

    }
</script>   

add_action( 'wp_ajax_nopriv_'.$_POST['ans_name'], 'my_ajax' );
add_action( 'wp_ajax_'.$_POST['ans_name'], 'my_ajax' );
function my_ajax(){

    echo $_POST['ans_name'];

    die();  // Required for a proper Wordpress AJAX result

}

是否尝试删除回音,并将其替换为return?delete die()是否尝试删除回音,并将其替换为return?delete die()是否尝试删除回音,并将其替换为return?delete die()是否尝试删除回音,并将其替换为return?删除骰子()谢谢它的工作。但我不需要什么帮助。当我点击提交按钮时,它返回“ANSU name=31”。但我不需要“名字”,我只需要“31”。我知道这并不难。但是我没有发现。这可能是因为在发出AJAX请求之前,您是如何获取
ans_name
(以及通过代理
action
)的值的。我假设
ans\u name
是什么类型的字段,但是尝试将
jQuery('[name=“ans\u name”]').serialize()
替换为
jQuery('[name=“ans\u name”]').val()
。谢谢,它能工作。但我不需要什么帮助。当我点击提交按钮时,它返回“ANSU name=31”。但我不需要“名字”,我只需要“31”。我知道这并不难。但是我没有发现。这可能是因为在发出AJAX请求之前,您是如何获取
ans_name
(以及通过代理
action
)的值的。我假设
ans\u name
是什么类型的字段,但是尝试将
jQuery('[name=“ans\u name”]').serialize()
替换为
jQuery('[name=“ans\u name”]').val()
。谢谢,它能工作。但我不需要什么帮助。当我点击提交按钮时,它返回“ANSU name=31”。但我不需要“名字”,我只需要“31”。我知道这并不难。但是我没有发现。这可能是因为在发出AJAX请求之前,您是如何获取
ans_name
(以及通过代理
action
)的值的。我假设
ans\u name
是什么类型的字段,但是尝试将
jQuery('[name=“ans\u name”]').serialize()
替换为
jQuery('[name=“ans\u name”]').val()
。谢谢,它能工作。但我不需要什么帮助。当我点击提交按钮时,它返回“ANSU name=31”。但我不需要“名字”,我只需要“31”。我知道这并不难。但是我没有发现。这可能是因为在发出AJAX请求之前,您是如何获取
ans_name
(以及通过代理
action
)的值的。我假设
ans\u name
的字段类型,但尝试替换
jQuery('[name=“ans\u name”]')的两个实例。serialize()