想象一下喜欢或投票页面的按钮.我需要这个按钮来发送Ajax请求来记录用户的喜欢.
点击按钮的人很快很多次,导致一些Ajax请求.
我该如何解决这个问题?
当人们单击按钮(span)时,我需要阻止它再次发送Ajax请求,直到完成上一个Ajax请求
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<span onclick="send_ajax(this)">send_ajax</span>
<script type="text/javascript">
function send_ajax(node){
$.ajax({
url:'ajax.php',
type:'POST',
data: {},
success:function() {
}
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
这个怎么样?
var processing = false;
function send_ajax(node){
if(!processing){
processing = true;
$.ajax({
url:'ajax.php',
type:'POST',
data:{},
success:function(){
processing = false;
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
首先,您必须取消绑定点击:
<script type="text/javascript">
jQuery('span').click(function(){
$('span').unbind('click'); // unbind click
//ajax request
})
</script>
Run Code Online (Sandbox Code Playgroud)
然后在complete具有$.ajax方法的事件中再次绑定它:
complete: function() {
$('span').bind('click'); // will fire either on success or error
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3610 次 |
| 最近记录: |