不要在单击链接时发送GET请求

Do not send GET request on clicking a link

本文关键字:GET 请求 链接 单击      更新时间:2023-09-26

[EDIT]我有以下链接:

<a href="" class="undo_feedback">Undo</a>

我在点击链接时执行ajax请求:

$('table').on('click', '.undo_feedback', function(e){
    // some code here
    $.ajax({
      type: "POST",
      data: {'_method': 'delete'},
      url: //some url
    });
    e.preventDefault();
  });

它给出了错误cannot GET '//some url'。POST请求已成功执行。我怎样才能消除这个错误?我尝试过使用return falsee.stopPropagation()e.stopImmediatePropagation(),但它们似乎都不起作用。任何帮助都将不胜感激。提前感谢:(

$('table').on('click', '.undo_feedback', function(e){
   // some code here
   e.preventDefault();    
   $.ajax({
      type: "POST",
      method : "delete",
      url: //some url
   });
});

e.preventDefault();置于之上

我希望这能帮助

您需要定义变量delete_url

$('table').on('click', '.undo_feedback', function(e){
    // some code here
--> delete_url = '/mydir/mydelete.php'; <--- LOOK HERE
    $.ajax({
      type: "POST",
      data: {'_method': 'delete'},
      url: delete_url,
    });
    e.preventDefault();
  });

就我个人而言,我更喜欢使用jQuery.post方式,而不是通过ajax。。。

jQuery.post(delete_url,
                {
                _method : 'delete'
                }
            ,
            function(data)
                {
                window.alert(data);
                }
            );

是否将url分配给delete_url

试试这个

//assign url to the variable
var delete_url="google.com/post";
$('table').on('click', '.undo_feedback', function(e){
// some code here
$.ajax({
  type: "POST",
  data: {'_method': 'delete'},
  url: delete_url,
});
e.preventDefault();
});