Rumah >hujung hadapan web >tutorial js >Ajax meminta konfigurasi global yang merangkumi jQuery_jquery

Ajax meminta konfigurasi global yang merangkumi jQuery_jquery

WBOY
WBOYasal
2016-05-16 16:15:501471semak imbas

Ringkasan:

jQuery telah menjadi perpustakaan js yang paling biasa dalam projek dan perpustakaan kegemaran untuk pembangunan bahagian hadapan. Di bawah ialah Ajax yang merangkum jQuery dalam projek, dikongsi dengan semua orang.

Kod:

Salin kod Kod adalah seperti berikut:

// parameter permintaan ajax
var ajaxSettings = function(opt) {
var url = opt.url;
var href = location.href;
// Tentukan sama ada terdapat permintaan merentas domain
var requestType = 'jsonp';
Jika (url.indexOf(location.host) > -1)
        requestType = 'json';
requestType = opt.dataType ||. requestType;
// Sama ada hendak meminta secara tak segerak
var async = (opt.async === undefined ? true : opt.async);
Kembali {
  url: url,
async: async,
         jenis: opt.type || dataType: requestType,
cache: palsu,
data: opt.data,
Kejayaan: fungsi(data, textStatus, xhr) {
               /*
*Jika dataType ialah json, bagaimana untuk menentukan sama ada data yang dikembalikan dalam format json Jika tidak, tukarkannya
* Format biasa data yang berjaya
                 *                                             “kod”: 200,
“data”: [],
                                                                                                                                                                                                                                                                                                                                 *                                               * Data dikembalikan pada kegagalan
                 *                                             “kod”: 200,
"maklumat": 'ralat',
"kejayaan": palsu // gagal                 *                                                                 */
If((requestType === 'json' || requestType === "jsonp") && typeof(data) === "string") {
                  data = JSON.parse(data);
            }
                 jika (data.kejayaan) {
                    opt.success(data);
            }

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

        },
        ralat: fungsi(xhr, status, pengendali) {
            jika (opt.error)
                opt.error();
        }
    };
};
fungsi unescapeEntity(str) {
    var reg = /&(?:nbsp|#160|lt|#60|gt|62|amp|#38|quot|#34|sen|#162|paun|#163|yen|#165|euro|# 8364|mazhab|#167|salinan|#169|reg|#174|perdagangan|#8482|kali|#215|bahagi|#247);/g,
        entiti = {
        ' '   : ' ',
        ' '   : ' ',
        '<'     : '<',
        '<'    : '<',
        '>'     : '>',
        '&62;'     : '>',
        '&'    : '&',
        '&'    : '&',
        '"'   : '"',
        '"'    : '"',
        '¢'   : '¢',
        '¢'   : '¢',
        '£'  : '£',
        '£'   : '£',
        '¥'    : '¥',
        '¥'   : '¥',
        '€'   : '?',
        '€'  : '?',
        '§'   : '§',
        '§'   : '§',
        '©'   : '©',
        '©'   : '©',
        '®'    : '®',
        '®'   : '®',
        '™'  : '™',
        '™'  : '™',
        '×'  : '×',
        '×'   : '×',
        '÷' : '÷',
        '÷'   : '÷'
    };
    if (str === null) {
        kembalikan '';
    }
    str = str.toString();
    kembalikan str.indexOf(';') < 0 ? str : str.replace(reg, function(chars) {
        kembalikan entiti[aksara];
    });
}
// 转换html的实体
$.ajaxSetup({
    global     : benar,
    cache      : palsu,
    penukar : {
        'teks json' : fungsi(tindak balas){
            kembalikan jQuery.parseJSON(unescapeEntity(respons));
        }
    }
});
/*
*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;
            kembali;
        }
        if(json.code === 404 && !json.success) {
                  window.location.href = location.protocol '//' location.hostname '/404.html';
}
}
});
/*
*Mesej ralat permintaan Ajax
*Contoh: 500 ralat
*Format mesej ralat kembali
*{
* kod: 500,
* maklumat: Pengecualian sistem
*}
*/
$(document).ajaxError(fungsi(evt, req, tetapan){
If(req && (req.status === 200||req.status === 0)){ return false; var msg = 'Ralat:';
If(req && req.responseJSON){
      var json = req.responseJSON;
msg = json.code||'';
            msg = json.info||'Pengecualian sistem, sila cuba lagi';
}lain{
            msg = 'Pengecualian sistem, sila cuba lagi';
}
makluman(msg);
});

Ringkasan:

Apabila melaksanakan permintaan Ajax, anda hanya perlu memanggil fungsi ajaxSettings, seperti berikut:

Salin kod Kod adalah seperti berikut:
$.ajax(ajaxSettings({
url: '',
Data: ''
}))

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn