Ajax meminta konfigurasi global yang merangkumi jQuery_jquery

WBOY
Lepaskan: 2016-05-16 16:15:50
asal
1430 orang telah melayarinya

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.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan