Php 在jquery中满足特定条件时停止链接href
我的网站上没有大量文件,我正试图为每个用户设置下载限制。Php 在jquery中满足特定条件时停止链接href,php,jquery,ajax,Php,Jquery,Ajax,我的网站上没有大量文件,我正试图为每个用户设置下载限制。 下载链接看起来是这样的 <a class="btn btn-primary" id="download" href="<?php echo $content_url;?>" onclick=”var that=this;_gaq.push([‘_trackEvent’,’Download’,’PDF’,this.href]);setTimeout(function(){location.href=that.href
下载链接看起来是这样的
<a class="btn btn-primary" id="download" href="<?php echo $content_url;?>" onclick=”var that=this;_gaq.push([‘_trackEvent’,’Download’,’PDF’,this.href]);setTimeout(function(){location.href=that.href;},200);return false;” target="_blank">
<i id = "<?php echo $id; ?> " class="fa fa-download"> </i>Download
</a>
Onclick函数
<script type="text/javascript">
$("#download").click(function(event){
$.ajax({
url : '/ajax/download-file.php',
dataType : 'json',
aysnc : false,
success : function(response)
{
if (response.error_type == 'login')
{
$("#login_modal").modal('show');
}
else
{
var login_id = "<?php
if(isset($_SESSION['login_id']))
{
echo $_SESSION['login_id'];
}
?>";
console.log(login_id);
$.ajax({
type : 'POST',
url : '/ajax/track_downloads.php',
data : {login_id : login_id},
async : false,
success : function(response)
{
var download_link = $("#download").attr("href");
if(response == 1)
{
return false;
alert("Your Download Limit Has Been Exceeded");
}
}
});
}
}
});
});
</script>
$(“#下载”)。单击(函数(事件){
$.ajax({
url:“/ajax/download file.php”,
数据类型:“json”,
aysnc:错,
成功:功能(响应)
{
如果(response.error_type=='login')
{
$(“#登录模式”).model('show');
}
其他的
{
var login_id=“”;
console.log(登录标识);
$.ajax({
键入:“POST”,
url:“/ajax/track_downloads.php”,
数据:{login\u id:login\u id},
async:false,
成功:功能(响应)
{
var download_link=$(“#download”).attr(“href”);
如果(响应==1)
{
返回false;
警报(“您的下载限制已超过”);
}
}
});
}
}
});
});
我的代码运行良好,它检查分配给每个用户的下载限制,如果低于20 pdf,请在下一个选项卡中打开,但是,如果限制超过20,则应显示警告框,并阻止链接继续
所以主要的问题是:我想在response==1时停止链接,我已经尝试了event.stopPropagation和event.preventDefault和.remove,但它已经不起作用了。停止链接意味着如果你的
track_downloads.php
代码返回1,那么你只需调用.remove(),就可以删除你的链接代码>jquery的方法。这是最好的解决方案,你不能使用禁用或显示:没有这是不安全的