我做了一个ajax post函数,当我调用它一次时,传递给它的回调函数最终被调用3次. 为什么回调被多次调用?
我正在尝试使用"模块"javascript模式,该模式使用闭包在一个全局变量下包含类似功能.我的ajax模块是它自己的文件,看起来像这样:
var ajax = (function (XMLHttpRequest) {
"use strict";
var done = 4, ok = 200;
function post(url, parameters, callback) {
var XHR = new XMLHttpRequest();
if (parameters === false || parameters === null || parameters === undefined) {
parameters = "";
}
XHR.open("post", url, true);
XHR.setRequestHeader("content-type", "application/x-www-form-urlencoded");
XHR.onreadystatechange = function () {
if (XHR.readyState === done && XHR.status === ok) {
callback(XHR.responseText);
}
};
XHR.send(parameters);
}
// Return the function/variable names available outside of the module. …Run Code Online (Sandbox Code Playgroud)