Maison  >  Article  >  interface Web  >  Ajax demande une configuration globale qui encapsule jQuery_jquery

Ajax demande une configuration globale qui encapsule jQuery_jquery

WBOY
WBOYoriginal
2016-05-16 16:15:501408parcourir

Résumé :

jQuery est devenue la bibliothèque js la plus courante dans les projets et la bibliothèque préférée pour le développement front-end. Vous trouverez ci-dessous l'Ajax qui encapsule jQuery dans le projet, partagé avec tout le monde.

Code :

Copier le code Le code est le suivant :

// paramètres de requête ajax
var ajaxSettings = fonction (opt) {
var url = opt.url;
var href = emplacement.href;
// Détermine s'il existe une requête inter-domaines
var requestType = 'jsonp';
Si (url.indexOf(location.host) > -1)
        requestType = 'json';
requestType = opt.dataType || requestType;
// S'il faut demander de manière asynchrone
var async = (opt.async === non défini ? true : opt.async);
Retour {
 url :url,
asynchrone : asynchrone,
         tapez : opt.type || 'get',
Type de données : Type de demande,
cache : faux,
données : opt.data,
Succès : function(data, textStatus, xhr) {
               /*
*Si dataType est json, comment déterminer si les données renvoyées sont au format json Sinon, convertissez-les
* Format commun des données réussies
                 *                                            "code" : 200,
"données": [],
                                                                                                                                              *                                              * Données renvoyées en cas d'échec
                 *                                            "code" : 200,
"info": 'erreur',
« succès » : faux // Échec                  *                                                              */
If((requestType === 'json' || requestType === "jsonp") && typeof(data) === "string") {
                  data = JSON.parse(data);
            }
                 if(data.success) {
                     opt.success(data);
            }

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

        },
        erreur : fonction (xhr, statut, gestionnaire) {
            si (opt.erreur)
                opt.error();
        >
    };
};
function unescapeEntity(str) {
    var reg = /&(?:nbsp|#160|lt|#60|gt|62|amp|#38|quot|#34|cent|#162|pound|#163|yen|#165|euro|# 8364|secte|#167|copie|#169|reg|#174|commerce|#8482|times|#215|divide|#247);/g,
        entité = {
        ' '   : ' ',
        ' '   : ' ',
        '&Lt ;'     : '<',
        '<'    : '<',
        '>'     : '>',
        '&62;'     : '>',
        '&'    : '&',
        '&'    : '&',
        '"'   : '"',
        '"'    : '"',
        '¢'   : '¢',
        '¢'   : '¢',
        '£'  : '£',
        '£'   : '£',
        '¥'    : '¥',
        '¥'   : '¥',
        '€'   : '?',
        '€'  : '?',
        '§'   : '§',
        '§'   : '§',
        '©'   : '©',
        '©'   : '©',
        '®'    : '®',
        '®'   : '®',
        '™'  : '™',
        '™'  : '™',
        '×'  : '×',
        '×'   : '×',
        '÷' : '÷',
        '÷'   : '÷'
    };
    si (str === null) {
        retourner '';
    >
    str = str.toString();
    return str.indexOf(';') < 0 ? str : str.replace(reg, function(chars) {
        renvoyer l'entité[caractères];
    });
>
// 转换html的实体
$.ajaxSetup({
    global     : vrai,
    cache      : faux,
    convertisseurs : {
        'text json' : fonction(réponse){
            return jQuery.parseJSON(unescapeEntity(response));
        >
    >
});
/*
*Ajax 请求权限异常
*   用户权限错误跳转登陆页
*  404错误跳转404页面
 */
$(document).ajaxComplete(function(evt, req, settings){
    si(req && req.responseJSON){
        var json = req.responseJSON;
        if(json.code === 403 && json.info === 'erreur permanente' && !json.success){
            window.location.href = location.protocol '//' location.hostname;
            revenir ;
        >
        if(json.code === 404 && !json.success) {
                 window.location.href = location.protocol '//' location.hostname '/404.html';
>
>
});
/*
*Message d'erreur de requête Ajax
*Exemple : erreur 500
*Format du message d'erreur de retour
*{
*code : 500,
*info : Exception système
*>
*/
$(document).ajaxError(function(evt, req, settings){
If(req && (req.status === 200||req.status === 0)){ return false }
var msg = 'Erreur :';
Si(req && req.responseJSON){
      var json = req.responseJSON;
          msg = json.code||'';
            msg = json.info||'Exception système, veuillez réessayer';
}autre{
            msg = 'Exception système, veuillez réessayer';
>
alerte(msg);
});

Résumé :

Lors de l'exécution d'une requête Ajax, il vous suffit d'appeler la fonction ajaxSettings, comme suit :

Copier le code Le code est le suivant :

$.ajax(ajaxSettings({
URL : '',
Données : ''
}))

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn