通过ajax存储数据,然后转到该URL

时间:2016-06-10 12:20:49

标签: javascript php jquery ajax events

我在这里寻求帮助。

<a class="text" href="http://test.com?id=87"><img src="/2016/02/BlueFantasyThumb.jpg"><h3>Milky</h3></a>

当我点击这个时,我需要做一些我知道怎么做的事情。但问题是我需要执行ajax然后转到那个href链接。

点击我知道使用e.preventDefault();我们可以防止默认行为。但情况是我不想阻止这一点。我希望在ajax实现之后发生那个事件而没有任何观察点阻碍。

任何形式的输入都会对我有所帮助。感谢。

3 个答案:

答案 0 :(得分:2)

您可以将href值存储在变量中,调用e.preventDefault()以防止重定向并运行您的ajax代码。在您的ajax成功回调中,您可以选择href值并使用javascript重定向到该链接。

$("a.text").on("click", function(e){
 e.preventDefault();
 var href = $(this).attr("href");
 $.ajax({
  url: URL,
  data: DATA,
  success: function(response){
   // your code here to be executed before redirecting
   window.location.href = href;
  }//success
 });//ajax
});//click

答案 1 :(得分:2)

1)设置html,如

<a class="text" data-href="http://test.com?id=87"><img src="/2016/02/BlueFantasyThumb.jpg"><h3>Milky</h3></a>

2)添加点击事件

$(".text").click(function() { // set ajax
   var url = $(this).attr("data-href");
   $.ajax({
     url: "ajax.php", // set required url here
   }).done(function() {
     alert("sucess")
     window.location.href = url;  // redirect page in ajax success
   });
});

答案 2 :(得分:1)

将href更改为javascript:;

然后你的ancor标签onclick事件调用ajax调用函数

在ajax成功函数中

window.location.href =&#34; http://test.com?id=87&#34;;