Heim >Web-Frontend >js-Tutorial >jquery schreibt Ajax neu und verwendet die Lademethode, um Fehler nach der Übermittlung und Beurteilung von „permissions_jquery' zu melden
Kein Unsinn mehr, lassen Sie mich einfach den Code für Sie posten.
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); }; });
Das Prinzip des Umschreibens lautet: Da die Abschlussfunktion vor dem Skript auf der Seite geladen wird, kann die $.ajax-Methode hier direkt umgeschrieben werden.
Der entscheidende Punkt ist, dass der rote Teil erneut ausgeführt werden muss, andernfalls wird eine Fehlermeldung angezeigt, wenn die Lademethode zum Laden der Seite verwendet wird: „Uncaught TypeError: Cannot call method ‚done‘ of undefined.“