好吧,我不确定是不是pajinate库在load()完成后不能启动,因为它在我没有load()的时候工作。
但我必须加载视图,因为我使用的是Google Maps API。我每页列出3个。但我循环遍历从AJAX获取的结果,并将视图加载到当前视图中:
for (var i = 0; i < markerNodes.length; i++) {
// set keys with marker nodes to pass to view
// load view file
$( '#listings' ).append($('<div>'
我想要的是仅当特定div的所有内容都已加载并且与该div相关的所有ajax请求都已完成时才运行函数。所以我有这段代码:
$('#calendar-cont').ajaxStop(function() {
getEventsData();// a function that contains some ajax requests
});
问题是getEventsData()包含一些其他ajax请求,并且出于某种我不理解的原因(但我认为这与getEventsData()中的ajax请求有关),这个函数被反复运行。我遗漏了什么?
有没有一种优雅的方法可以暂时抑制jQuery事件?我使用的代码如下:
$(element).unbind(event, function1).unbind(event, function2);
// code for which the event is suppressed
$(element).bind(event, function1).bind(event, function2);
但我发现它有点笨拙,并且不能很好地扩展到许多事件。为什么我要暂时禁止事件?在Ajax访问期间,我使用BlockUI插件来阻止UI。这是通过BlockUI提出的:$().ajaxStart($.blockUI
我想知道我怎么编码这个:
//if there is any ajax request
$("#loader").css("display","block");
//on success:
$("#loader").css("display","none");
注意:,我不会在我的每个ajax请求函数中一次又一次地对它进行编码。我希望它是通用的,这样我的脚本就可以知道是否有ajax请求,请执行$("#loader").css("display","
我有一个相当复杂的搜索,它利用了多个ajax调用,流程如下:
user performs search on button click
ajax request is made to php page which returns json data
for each result in returned data additional ajax request is made
run function which makes additional ajax call
end for each
end click function
这一切都运行得很好,我想要做的是
我知道可以在$.ajaxSetup上设置jQuery的timeout属性,但这会中止当前的timedout请求。
我有哪些选项可以全局监视每个单独的AJAX请求所花费的时间,以便为等待的用户提供反馈。
伪代码:
if(timeTaken > 1000){
// taking a long time
} else if (timeTaken > 5000){
// this is embarrassing, please refresh!
}
而是通过jQuery的AJAX在全球范围内实现...