Ajax значения почерка, где из бронзы алмаза!

Говоря Бодхи Патриарх ударил обезьяны три доски   затем узнать WuKong 72 -как изменения, и магическое удовольствие этот вопрос , как интервьюера думать о более глубокий смысл , больше может быть в состоянии признать ,

 

На самом деле написано Ajax способен видеть уровень нескольких кусков коды можно увидеть размещенные низкие уровни

 

Код 1: Уровень Bronze

вар REQ = новый XMLHttpRequest ();
req.open ( "получить", "mockData / usersinfo.json", правда);
req.send ();
req.onreadystatechange = функция () {
    если (req.readyState == 4 && req.status == 200) {
        результат переменная = req.responseText;
    }
}

Особенно характерно для нативного АЯКС   функции, в частности , простая функция для получения данных коды моделирования может отражать то , что вы пишете может правильно помните

 

Код 2: серебряный уровень

 Функция Аякс (тип, URL, успех) {
    вар REQ = новый XMLHttpRequest ();
    req.open (тип, URL, правда);
    req.send ();
    req.onreadystatechange = функция () {
        если (req.readyState == 4 && req.status == 200) {
            результат переменная = req.responseText;
            успех (результат);

        }
    }
}

Аякса ( "получить", "HTTP: // локальный: 8055 / listcount.php поиск = а?", функция (результат) {
    Alert (результат);
});

Выше код  с кодом 1 функции можно сказать, что то же , но повторное использование кода становится совершенно другой

на самом деле

Куда звонить, потому что вы можете позвонить на где

 

Код 3: Золотой уровень

Функция Ajax (JSON) {
    вар REQ = новый XMLHttpRequest ();
    тип переменная = JSON [ "тип"];
    вар URL = JSON [ "URL"];
    если (JSON [ "данные"]) {
        вар HTML = "?";
        для (вар я в JSON [ "данные"]) {
            HTML + = I + "=" + JSON [ "данные"] [I] + "&";
        }
        HTML = html.substring (0, html.length - 1);
        URL = + HTML;
    }
    Var = успех JSON [ "успех"];
    req.open (тип, URL, правда);
    req.send ();
    req.onreadystatechange = функция () {
        если (req.readyState == 4 && req.status == 200) {
            результат переменная = req.responseText;

                Результат = JSON.parse (результат);
            }
            Успех (результат);
        }
    }
}
Аякса ({
    типа: "получить",
    URL: "HTTP: // локальный: 8055 / listcount.php",
    данные: {Поиск: "л"},
    DATATYPE: "" JSON,
    успех: функция (результат) {
        оповещения (результат [ "подсчет"]);

 }
});

Приведенный выше код выполняет те же функции , но чувствует себя лучше , не так мало , так называемое чувство использования JQ AJAX на данный момент можно потанцевать ла ла ла не отвечают

 

Код 4: Уровень Алмазного

var $ = {
    ajax: function (json) {
        var req = new XMLHttpRequest();
        var type = json["type"];
        var url = json["url"];
        if (json["data"]) {
            var html = "?";
            for (var i in json["data"]) {
                html += i + "=" + json["data"][i] + "&";
            }
            html = html.substring(0, html.length - 1);
            url += html;
        }
        var success = json["success"];
        req.open(type, url, true);
        req.send();
        req.onreadystatechange = function () {
            if (req.readyState == 4 && req.status == 200) {
                var result = req.responseText;
                if (json["dataType"] == "json") {
                    result = JSON.parse(result);
                }
                success(result);
            }
        }
    }
}

$.ajax({
    type: "get",
    url: "http://localhost:8055/listcount.php",
    data: {search: "l"},
    dataType: "json",
    success: function (result) {
        alert(result["count"]);
    }
});

怎么样 虽然写的是原生ajax  但是写出了jq底层代码的味道   跟jq中使用方式一模一样 参数 回调 封装  面面俱到  水平高低  一看就知道了 自己都会写 工作肯定也就会用 这才是钻石水平    还有更高级的星耀 就可以融入Promise 请求头配置等等

不要小看任意一道面试题  可能其中另有深意  体验自己的价值才能拿到更快拿到offer 

 

рекомендация

отwww.cnblogs.com/lishixiang-007/p/11274777.html