Rumah  >  Artikel  >  hujung hadapan web  >  jquery menulis semula ajax dan menggunakan kaedah muat untuk melaporkan ralat selepas menyerahkan dan menilai permissions_jquery

jquery menulis semula ajax dan menggunakan kaedah muat untuk melaporkan ralat selepas menyerahkan dan menilai permissions_jquery

WBOY
WBOYasal
2016-05-16 15:19:261226semak imbas

Tiada lagi perkara karut, izinkan saya siarkan kod untuk anda.

jQuery(function ($) {
// 备份jquery的ajax方法 
var _ajax = $.ajax;
// 重写ajax方法,先判断登录在执行success函数 
$.ajax = function (opt) {
var _success = opt && opt.success || function (a, b) { };
var _opt = $.extend(opt, {
success: function (data, textStatus) {
// 如果后台将请求重定向到了登录页,则data里面存放的就是登录页的源码,这里需要找到data是登录页的证据(标记) 
if ((typeof data) == 'string' && data.indexOf('shangjiaAjaxExtend') != -1) {
window.location.href = 'http://' + window.location.host + '/S/BusiLogin/Index';
return;
} else {
_success(data, textStatus);
}
}
});
return _ajax(_opt);
};
});

Prinsip penulisan semula ialah: memandangkan fungsi penutupan dimuatkan sebelum skrip pada halaman, kaedah $.ajax boleh ditulis semula terus di sini.

Intinya ialah bahagian merah mesti disiarkan semula, jika tidak, mesej ralat akan muncul apabila menggunakan kaedah pemuatan untuk memuatkan halaman "Uncaught TypeError: Cannot call method 'done' of undefined."

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