菜鸟问题。我正确吗? XML HttpRequest完成后,控制台中将显示“ XHR完成加载”,对吗? 因此,如果我想在XML HttpRequest完成后执行一个函数,我应该能够像
一样使用.ajaxComplete()$( document ).ajaxComplete(function(){
console.log("complete");
});
因此,只要XML HttpRequest完成,“完成”应该出现在控制台中吗? 我已经尝试使用.ajaxComplete,.ajaxSuccess和.ajaxStop进行此操作,但是没有结果。
答案 0 :(得分:0)
XML HttpRequest没有名为ajaxComplete()的回调;
您可以在此处https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
查看XML HttpRequest的文档。答案 1 :(得分:0)
因此,只要XML HttpRequest完成,就可以
不。这是jQuery method,仅适用于jQuery ajax请求(例如,使用jQuery.ajax
或jQuery.post
发出的请求)。
在此演示中,您可以看到它仅触发ajaxComplete回调一次。
const url = 'https://dog.ceo/api/breeds/image/random';
$(document).ajaxComplete(function() {
console.log("ajaxCompleteCalled");
});
$.ajax(url).then(data => console.log("jQuery ajax done"));
fetch(url).then(response => console.log("Fetch ajax done"));
const x = new XMLHttpRequest();
x.open("GET", url);
x.addEventListener("load", e => console.log("XHR ajax done"));
x.send();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
没有等效的浏览器内置API(XMLHttpRequest或访存)。为它们编写包装函数。