前端之家收集整理的这篇文章主要介绍了
在点击下载的时候同时执行 ajax 请求的一点困惑,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
文章地址http://zhoumengkang.com/295.html
正如下面的代码,其中的a
连接对应的是一个资源文件,点击则会直接出现下载弹窗口,我想统计该链接被点击了多少次,所以我想的最“偷懒”的办法就是链接依然跳转的同时加上一段onclick
事件触发ajax
请求。
- <li class="name"><ahref"{$vo.url}"data-id"{$vo.id}">{$vo.title}</a></li>
首先我在没有 ajax 请求的情况下试了下代码:
//OK 没问题
$(function(){
$(".name a").click(){
alert(1);
})
})
尝试下面的代码则因为 ajax 异步请求而“来不及”显示。我比较困惑:窗口别没有关闭,虽是异步,但是也应该发送呀,为什么呢?究其为什么会如此(完全不执行),我却不知道。但是我考虑到可能是因为同步异步的原因,尝试了下锁定浏览器,则可以正常发送 ajax 请求了。
//没有执行ajax请求就直接弹出下载窗口
var _ele =this console.log(_eleattr"data-id"));//正常执行,但是下面的ajax请求没能发送
url "{$config_siteurl}api.PHP?m=Hits&catid={$catid}&id="+ _ele);
.geturl,functiondata){
parent().siblings".addr"htmlparseIntviews)+);
},160)">"json");
})
})
(){
);
ajax({
url: async:false//锁定浏览器之后,ajax请求发送成功
dataType: success){
);
}
});
})
})
原文链接:https://www.f2er.com/ajax/164498.html