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

时间:2014-03-20 09:23:36

标签: javascript jquery ajax html5 node.js

[编辑] 我有以下链接:

<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(),但似乎都没有效果。任何帮助将非常感激。在此先感谢:)

3 个答案:

答案 0 :(得分:2)

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

e.preventDefault();放在上面

我希望这个帮助

答案 1 :(得分:0)

您需要定义变量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);
                }
            );

答案 2 :(得分:0)

您是否已将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();
});