小编ahu*_*uth的帖子

为什么我的AJAX函数多次调用回调?

我做了一个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)

javascript ajax

7
推荐指数
1
解决办法
7570
查看次数

标签 统计

ajax ×1

javascript ×1