【问题标题】:WordPress jQuery Return 0 on mobile browser but working fine on desktop browserWordPress jQuery 在移动浏览器上返回 0,但在桌面浏览器上工作正常
【发布时间】:2022-01-10 01:33:41
【问题描述】:

我正在尝试在 WordPress 中获得 AJAX 响应,它在我的台式机/笔记本电脑上运行良好,但在手机和平​​板电脑浏览器上,它返回 0。 jQuery

jQuery(document).ready( function() {
        var current_work_id = '<?php echo get_the_ID(); ?>';
        jQuery.ajax({
            type : "get",
            dataType : "json",
            url : my_ajax_object.ajax_url,
            data : {action: "my_action", post_id : current_work_id},
            success: function(response) {
                alert(response);
                if(response.type == "success") {
                    console.log('counted');
                }else {
                    console.log('not counted');
                }
            },
            error: function (request, status, error) {
                alert(request.responseText);
            }
        }); 
    });

WordPress

add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action' );
function my_action_callback() {
        $result["type"] = "success";
        $result["data"] = 'demo';
        echo json_encode($result, true);
    wp_die();
}

相同的代码在我的笔记本电脑和其他笔记本电脑上也能正常工作。但是当我在手机上测试网站时,它会提示 0。

【问题讨论】:

    标签: php jquery ajax wordpress


    【解决方案1】:

    此代码错误add_action('wp_ajax_nopriv_my_action', 'my_action' );

    你需要使用add_action('wp_ajax_nopriv_my_action', 'my_action_callback' );

    add_action('wp_ajax_my_action', 'my_action_callback');
    add_action('wp_ajax_nopriv_my_action', 'my_action_callback' );
    function my_action_callback() {
          $result["type"] = "success";
          $result["data"] = 'demo';
          echo json_encode($result, true);
      wp_die();
    }
    

    似乎类型错误my_action_callback

    【讨论】:

      猜你喜欢
      • 2012-04-11
      • 2011-12-28
      • 1970-01-01
      • 2019-10-02
      • 2021-08-20
      • 2017-10-24
      • 2022-08-03
      • 2014-01-10
      • 2014-06-26
      相关资源
      最近更新 更多