gpt4 book ai didi

javascript - Backbone.js 拦截 AJAX 请求

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:36 25 4
gpt4 key购买 nike

我有一个使用具有各种 AJAX 请求的 Backbone.js 的应用程序。我希望能够拦截所有 AJAX 请求并执行一些前置和后置请求功能,而无需在定义时指定这些功能。

我想做的一个例子是,如果请求的响应表明用户未登录,则显示全屏模式。

我看过通过 jQuery 做类似下面的事情:

jQuery.ajaxSetup({
beforeSend: function() {
return console.log("mybefore");
}
});

但这似乎错过了使用套接字的 XHR 请求。

我也简要地看了看做类似下面的事情:

XMLHttpRequest.prototype.reallySend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(body) {
console.log('mybefore');
this.reallySend(body);
};

在这个例子中,我不确定如何执行 after

所以毕竟,我的问题是:是否有一种优雅的方法可以覆盖 ajax 函数来进行预处理和后处理,而不改变发出请求的方式。

(任何 backbone.js 特定的解决方案也很好)

最佳答案

你需要做这样的事情。

CoffeeScript 代码

define [
'jquery'
], ($) ->
loadElement = $('someContent')

$(document)
.ajaxStart(-> $(loadElement).show())
.ajaxStop(-> $(loadElement).hide())

关于javascript - Backbone.js 拦截 AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16803526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com