jquery - jQuery 中 AJAX POST 请求的全局事件处理程序
问题描述
我想为 jQuery.post(...) 完成的所有 POST 请求注册一个事件处理程序。
我可以为所有 ajax 请求安装一个全局处理程序:
$( document ).ajaxComplete(function(ev,xhr) {
console.log(xhr);
});
但我想让处理程序只为 POST 请求调用。但我想不通:
$( document ).ajaxComplete(function(ev,xhr) {
if(xhr.__IS_POST_OR_WHATEVER()) {
console.log(xhr);
}
});
解决方案
还有一个额外的参数传递给ajaxComplete
事件处理程序;包含发出请求的设置的对象。该对象具有type
您需要检查的属性:
$(document).ajaxComplete(function(ev, xhr, settings) {
if (settings.type === 'POST') {
console.log('Do something');
}
});
文档中提供了更多信息。
推荐阅读
- google-apps-script - 谷歌表格中“setformula”后的公式解析错误
- python - Flask 和 Threading 切换布尔变量:UnboundLocalError:分配前引用的局部变量 'test'
- azure - 从 Azure 服务结构群集中删除节点后,群集状态为“无法升级服务”
- javascript - node.js req.body 返回未定义(已解决)
- android - 在运行反应本机(cli)应用程序时停留在命令提示符上的空闲状态
- r - 带有嵌入式 R 代码的 Rcpp,不显示 R 代码的输出
- c# - 为什么 C# 在使用 GetComponent 时看不到另一个脚本中的变量?C#
- c++ - 将模板用作数组维度时,模板如何工作?
- python - 我无法在 kali 20.04 上安装“python-gtk2”
- javascript - 为什么在 ReactJS 中更新状态时,我的数据在旧数据和新数据之间闪烁?