- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的团队目前正在尝试摆脱我们的 jQuery。我们已经设法摆脱了所有选择器,并且正在将其从 ajax 调用中重构,但我们正在尝试重新创建 ajaxStart 和 ajaxStop 函数。
我一直在浏览 SuperAgent 文档,但找不到任何与此等效的内容。有谁知道 SuperAgent 中有类似的东西,或者知道如何使用事件监听器或其他东西重新创建它?
我的替代方案是直接向每个请求添加显示更改,这是我想避免的 200 行左右。
window.onload = function() {
$(document)
.ajaxStart(function(){
document.getElementById('ajaxSpinner').style.display = 'block';
})
.ajaxStop(function(){
document.getElementById('ajaxSpinner').style.display = 'none';
});
}
编辑:我们已经弄清楚如何在我们的代码库中使用已接受的答案。我们已将所选答案中的代码移至其自己的模块中,无论我们在何处使用 SuperAgent,都需要该模块。现在,我们的每个调用都包含 .use(Module.stats)。到目前为止,这个解决方案似乎有效,但我们尚未开始跨浏览器测试。感谢您的帮助!
Edit2:偶然需要我们重建应用程序。接受的答案不适用于最新版本的 SuperAgent,我们不得不将其回滚到版本 1.7.2。
最佳答案
https://github.com/visionmedia/superagent/issues/861#issuecomment-173413292
希望上面的链接对您有帮助
报价代码:
function stats(req) {
req.once('request', function() {
// ajaxstart
req._startedAt = Date.now();
});
req.once('error', function() {
// an error,the request fail
});
req.once('end', function() {
// ajaxstop
var use = Date.now() - req._startedAt;
});
}
function get(url) {
return request.get(url)
.use(stats);
}
Request.prototype._end = Request.prototype.end;
Request.prototype.end = function(fn) {
this.emit('request');
this._end(fn);
}
关于javascript - SuperAgent相当于Jquery的ajaxStart ajaxStop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33219794/
我的团队目前正在尝试摆脱我们的 jQuery。我们已经设法摆脱了所有选择器,并且正在将其从 ajax 调用中重构,但我们正在尝试重新创建 ajaxStart 和 ajaxStop 函数。 我一直在浏览
如果这不是提问的合适地方,我很抱歉。 我根据 documentation 确定知道ajaxStop() 函数的以下功能: Whenever an AJAX request is completed,
这是无效的代码: $(document).ajaxStop(function() { $(this).unbind("ajaxStop"); //prevent running again w
我正在使用 jQuery,但我的问题是即使我在 .ajaxStop 回调函数中使用“page += 1”,我的 page 变量也被递增了几次,因为它在第一次执行后被执行了不止一次它被使用了。我将该变量
如果我像这样使用 .ajaxStop 附加事件处理程序: $(document).ajaxStop(function() { //Some code }); 如何删除该事件处理程序? 最佳答案
由于通常看似简单的事情需要几天的时间才能解决,也许有人可以给我指出一个解决方案,但两天后我放弃了以下问题; 在 html 中,我有一个按钮,应该通过 ajax 调用触发数据加载: Show Data
当我使用ajax加载页面时,我尝试使用flash或文本来显示页面正在加载。下面的代码在 Firefox 和 Chrome 上运行良好,但不适用于 IE。我不知道问题所在。看来类(class)根本没有停
有没有人知道在没有 jQuery 开销的情况下使用 ajaxStop() 功能的方法?我试过查看 jQuery 的 GitHub 页面上的源代码,但找不到它或不知道要查看哪些文件。 最佳答案 您可以拦
我感谢所有的帮助。我是一个初学者,几乎没有 jQuery/AJAX 经验,我一直在疯狂地试图弄清楚为什么我无法弄清楚这一点。 我正在编写一个 Facebook 页面应用程序,让用户授予权限并将视频上传
有人可以帮我理解为什么这不起作用吗? load.gif 在 ajax .load 加载页面时出现,但永远不会消失。这让我相信 .ajaxStart 和 .ajaxStop 函数都没有被调用(因为它最初
也许没有什么区别,但其中一个比另一个更好(或者可能是比两者更好的神秘“第三种”方式!)... 第一: var startTime; $(document).ready(function() {
什么时候使用哪个。 在 http://api.jquery.com/ 的文档中: 对于 ajaxStop() 它说: Description: Register a handler to be cal
我使用ajaxStart和ajaxStop通过这种方式显示和隐藏加载: $(document).ajaxStart(function () { $.LoadingOverlay
好的,我创建了一个小页面,其中不同的元素触发不同的 AJAX 调用。 如果我只有一张加载图像,我会很好地使用 ajaxStart 和 ajaxStop。但我希望在不同的 AJAX 调用上显示不同的加载
$(document).ajaxStart(function() {loading.show()}); $(document).ajaxStop(function() {loading.hide()}
如何为特定事件绑定(bind) ajaxStart 函数,使用: $(document).ajaxStart(function () { alert("started"); }); $(docum
当发出 ajax 请求时,我将“Loading”类附加到正文,这样我就可以显示进度动画...由于某种原因,函数 ae 从未调用过,并且我没有看到任何警报... function setLoadingP
出于某种原因,我的 ajaxStop 代码现在触发了两次,我需要将其限制为仅一次。 $('.submit').bind('click', function(e) { $("#fileupload").
我有一个网页,其中 ajax 调用使用 jQuery 触发覆盖,如下所示: $(document).on({ ajaxStart: function() { $("body").addClas
我正在尝试在所有 ajax 调用完成后调用 $.post 函数。调用被触发只是因为它在一个连续的循环中运行。 var jQuery_1_11_0 = $.noConflict(true); jQuer
我是一名优秀的程序员,十分优秀!