如何使用以下方法绑定特定事件的ajaxStart
函数:
$(document).ajaxStart(function () {
alert("started");
});
$(document).ajaxStop(function () {
alert("Ended");
});
尝试使用此代码,但只要自动完成开始就会运行。
场景必须如下:每当我提交表单时,都会调用该函数。
但是,当我只是通过ajax使用自动填充功能获取值时,不应调用ajaxStart
和ajaxStop
。
答案 0 :(得分:2)
但是当我只是通过ajax使用autocomplete获取值时, 不应该调用ajaxStart和ajaxStop。
您可以创建一个布尔变量来跟踪用户是否正在键入:
<script>
var isTyping = false;
// inside your autocomplete handler set isTyping to true
$(document).ajaxStart(function(){
if (! isTyping) alert("started");
});
$(document).ajaxStop(function(){
if (! isTyping) alert("Ended");
});
</script>
答案 1 :(得分:1)
最好使用main函数及其子函数。
$.ajax({
url: 'url_to_page'
beforeSend: function(req){ //Before the request is taking off},
error: function(req){ //If there were a error},
success: function(req){ //When it all was done}
});
答案 2 :(得分:0)
$.ajax({
url :'your url',
data: {
//data to send if any
},
type: 'POST',
success:function(msg){
//eqv to ajaxstop if OK
},
beforeSend:function(){
//before ajax starts
},
error:function(){
//failure in ajax
}
});