Heim  >  Artikel  >  Web-Frontend  >  Ajax fordert eine globale Konfiguration an, die jQuery_jquery kapselt

Ajax fordert eine globale Konfiguration an, die jQuery_jquery kapselt

WBOY
WBOYOriginal
2016-05-16 16:15:501408Durchsuche

Zusammenfassung:

jQuery ist zur am häufigsten verwendeten js-Bibliothek in Projekten und zur bevorzugten Bibliothek für die Front-End-Entwicklung geworden. Unten ist der Ajax, der jQuery im Projekt kapselt und für alle freigegeben wird.

Code:

Code kopieren Der Code lautet wie folgt:

// Ajax-Anfrageparameter
var ajaxSettings = function(opt) {
var url = opt.url;
var href = location.href;
// Bestimmen Sie, ob eine domänenübergreifende Anfrage vorliegt
var requestType = 'jsonp';
If (url.indexOf(location.host) > -1)
        requestType = 'json';
requestType = opt.dataType ||. requestType;
// Ob asynchron angefordert werden soll
var async = (opt.async === undefiniert ? true : opt.async);
Geben Sie {
zurück   URL: URL,
async: asynchron,
         Typ: opt.type || 'get',
dataType: requestType,
Cache: falsch,
Daten: opt.data,
Erfolg: function(data, textStatus, xhr) {
               /*
*Wenn dataType json ist, wie kann festgestellt werden, ob die zurückgegebenen Daten im JSON-Format vorliegen? Wenn nicht, konvertieren Sie sie
* Gemeinsames Format erfolgreicher Daten
                 *                                           „Code“: 200,
„Daten“: [],
                                                                                                                                      *                                             * Bei Fehler zurückgegebene Daten
                 *                                           „Code“: 200,
"info": 'Fehler',
„success“: false // Fehlgeschlagen                  *                                                             */
If((requestType === 'json' || requestType === "jsonp") && typeof(data) === "string") {
                  data = JSON.parse(data);
            }
                 if(data.success) {
                     opt.success(data);
            }

if(opt.error) {
                    opt.error(data);
            }

        },
        Fehler: Funktion(xhr, Status, Handler) {
            if (opt.error)
                opt.error();
        }
    };
};
Funktion unescapeEntity(str) {
    var reg = /&(?:nbsp|#160|lt|#60|gt|62|amp|#38|quot|#34|cent|#162|pound|#163|yen|#165|euro|# 8364|sect|#167|copy|#169|reg|#174|trade|#8482|times|#215|divide|#247);/g,
        Entität = {
        ' '   : ' ',
        ' '   : ' ',
        '<'     : '<',
        '<'    : '<',
        '>'     : '>',
        '&62;'     : '>',
        '&'    : '&',
        '&'    : '&',
        '"'   : '"',
        '"'    : '"',
        '¢'   : '¢',
        '¢'   : '¢',
        '£'  : '£',
        '£'   : '£',
        '¥'    : '¥',
        '¥'   : '¥',
        '€'   : '?',
        '€'  : '?',
        '§'   : '§',
        '§'   : '§',
        '©'   : '©',
        '©'   : '©',
        '®'    : '®',
        '®'   : '®',
        '™'  : '™',
        '™'  : '™',
        '×'  : '×',
        '×'   : '×',
        '÷' : '÷',
        '÷'   : '÷'
    };
    if (str === null) {
        return '';
    }
    str = str.toString();
    return str.indexOf(';') < 0 ? str : str.replace(reg, function(chars) {
        return entity[chars];
    });
}
// 转换html的实体
$.ajaxSetup({
    global     : true,
    Cache      : false,
    Konverter: {
        'text json': Funktion(Antwort){
            return jQuery.parseJSON(unescapeEntity(response));
        }
    }
});
/*
*Ajax 请求权限异常
*   用户权限错误跳转登陆页
*   404错误跳转404页面
 */
$(document).ajaxComplete(function(evt, req, Settings){
    if(req && req.responseJSON){
        var json = req.responseJSON;
        if(json.code === 403 && json.info === 'perm error' && !json.success){
            window.location.href = location.protocol '//' location.hostname;
            zurück;
        }
        if(json.code === 404 && !json.success) {
                 window.location.href = location.protocol '//' location.hostname '/404.html';
}
}
});
/*
*Ajax-Anfrage-Fehlermeldung
*Beispiel: 500 Fehler
*Fehlermeldungsformat zurückgeben
*{
* Code: 500,
* Info: Systemausnahme
*}
*/
$(document).ajaxError(function(evt, req, Settings){
If(req && (req.status === 200||req.status === 0)){ return false; var msg = 'Fehler:';
If(req && req.responseJSON){
      var json = req.responseJSON;
          msg = json.code||'';
            msg = json.info||'Systemausnahme, bitte versuchen Sie es erneut';
}else{
            msg = 'Systemausnahme, bitte versuchen Sie es erneut';
}
alarm(msg);
});

Zusammenfassung:

Beim Ausführen einer Ajax-Anfrage müssen Sie nur die Funktion ajaxSettings wie folgt aufrufen:

Code kopieren Der Code lautet wie folgt:
$.ajax(ajaxSettings({
URL: '',
Daten: ''
}))

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn