Ajax不处理链接


Ajax not working on links

My js code:

jQuery(document).ready(function($) {
 //  $(document).on('click','.contact',function() {
   $(document).on('click','.test',function() {
      //$('.test').click(function(e){
      // evt.preventDefault();
      //$('div').hide();
      var cat = '-10';
      var data = {
         'action': 'my_action',
         'category': cat
      };
    jQuery.post(ajax_object.ajax_url, data, function(response) {
    console.log('Got this from the server: ' + response);
    });
  });  
});

和我的PHP代码

function my_action_callback() {
   global $wpdb;
   if (isset($_POST["category"])) {
      $category = $_POST["category"];    
   }
   echo $category;
   wp_die();

}

所以问题来了:我正在尝试在 Wordpress 中建立一个网站,我正在尝试传递我希望从帖子中排除的类别。

.test 是一个提交按钮,带有指向我的帖子页面的 URL。当我单击它时,我没有得到服务器的响应,ajax 根本不起作用。

但是当我单击 .contact 时,它只是一个不会重定向到任何页面的div,我的代码工作正常,我得到"从服务器得到这个:-10"响应;

我也尝试过 preventDefault()。在这种情况下,我得到了正确的响应,但没有重定向到所需的页面。

我的猜测是它与重定向到另一个页面有关。

任何帮助都会非常好。

使用 preventDefault 阻止点击,然后如果你想重定向,那么使用 window.location 让你进入下一页

这是我的答案

jQuery(document).ready(function($) {
   $(document).on('click','.test',function(e) {
      e.preventDefault();
      var cat = '-10';
      var data = {
         'action': 'my_action',
         'category': cat
      };
    jQuery.post(ajax_object.ajax_url, data, function(response) {
    console.log('Got this from the server: ' + response);
     window.location = $(this).attr('href');
    });
  });  
});