Php JQuery:当用户单击链接时,首先提交表单,然后转到链接
因此,我有一个设置与几个链接如下Php JQuery:当用户单击链接时,首先提交表单,然后转到链接,php,jquery,Php,Jquery,因此,我有一个设置与几个链接如下 <a class="someclass" href="http://www.google.com" id="link01">Google</a> <a class="someclass" href="http://www.yahoo.com" id="link02">Yahoo</a> <a class="someclass" href="http://www.cnn.com" id="link03">
<a class="someclass" href="http://www.google.com" id="link01">Google</a>
<a class="someclass" href="http://www.yahoo.com" id="link02">Yahoo</a>
<a class="someclass" href="http://www.cnn.com" id="link03">CNN</a>
<a class="someclass" href="http://www.facebook.com" id="link04">Facebook</a>
$(".someclass").click(function() {
var currentId = $(this).attr('id');
var data = "do=clearthis&id=" + currentId;
$.ajax({
type: "POST",
url: "clearance.php",
data: data,
success: function(msg){
}
});
});
});
$(“.someclass”)。单击(函数(){
var currentId=$(this.attr('id');
var data=“do=clearthis&id=“+currentId;
$.ajax({
类型:“POST”,
url:“clearance.php”,
数据:数据,
成功:功能(msg){
}
});
});
});
我正在做的是修改被点击的链接,从链接中获取一个id值,然后ajax将其提交到我的PHP文件中,这将从我的数据库中删除该链接
因此,当用户单击某个链接时,该链接将从我的数据库中删除。然而,问题是它实际上不起作用。我想问题是它太快了,当jquery开始为我发布表单时,它已经跳转到目标链接了。在允许用户继续访问目标链接之前,是否有任何方法导致某种延迟,以允许my clearance.php处理删除
谢谢 发出同步AJAX请求,使其首先完成:
$.ajax({
type: "POST",
async: false,
url: "clearance.php",
data: data,
success: function(msg){
}
});
不同步请求的另一个解决方案:
$(".someclass").click(function() {
var currentId = $(this).attr('id');
var data = "do=clearthis&id=" + currentId;
var linkUrl = $(this).attr("href");
$.ajax({
type: "POST",
url: "clearance.php",
data: data,
success: function(msg){
},
complete: function(){
window.location.href = linkUrl;
}
});
});
return false;
});
这也是一个很好的解决方案,可以保持回调范例更完整。