通过单击链接发送AJAX请求,而无需重定向用户

时间:2012-03-08 18:42:45

标签: php mysql jquery

我有一个Web应用程序,它包含许多不同的项目,这些项目是从MySQL表生成的。当用户滚动浏览它时,我希望他们能够单击项目旁边的链接,该链接将请求插入到MySQL数据库中。通常情况下,我会通过创建一个PHP页面(我将继续这样做)来抓取项目名称&来自URI的用户ID使用$ _GET方法&将其插入表中。但是,在这种情况下,我不希望用户被重定向到任何地方。我只想要链接发送请求,并在成功后显示一条小消息。

我认为jQuery / AJAX最适合这个,但由于我不太熟悉它,我不知道该怎么做。任何提示都表示赞赏!

4 个答案:

答案 0 :(得分:12)

您必须执行类似

的操作
$('.classofyourlink').click(function(e){
  e.preventDefault();//in this way you have no redirect
  $.post(...);//Make the ajax call
});

通过这种方式,用户可以通过单击链接进行ajax调用而无需重定向。以下是$.post

的文档

编辑 - 在您的情况下将值传递给jQuery,您应该执行类似

的操作
$('.order_this').click(function(e){
  e.preventDefault();//in this way you have no redirect
  var valueToPass = $(this).text();
  var url = "url/to/post/";
  $.post(url, { data: valueToPass }, function(data){...} );//Make the ajax call
});

答案 1 :(得分:3)

<强> HTML

<a id="aDelete" href="mypage.php">Delete</a>

脚本

$(function(){    
   $("#aDelete").click(function(){           
      $.post("ajaxserverpage.php?data1=your_data_to_pass&data2=second_value",function(data){
         //do something with the response which is available in the "data" variable
     });
   });
  return false;    
});

答案 2 :(得分:0)

请参阅http://api.jquery.com/jQuery.ajax/

$('#my-link').click(function(){
    $.ajax({
      url: "mypage.php",
      context: document.body,
      success: function(){
        $(this).addClass("done");
      }
    });
    return false;
});

答案 3 :(得分:0)

$('.classOfYourLinkToBecliked').click(function(){
       $.ajax({
          type:'GET',
          'url':'yoururl',
           data: {yourdata},
           processData: false,
           contentType: false,
           cache: false,
           dataType: 'json',
           success: function(response){
             alert(response);
             }
      });
});