jQuery MiniUI

标题: 关于使用全局ajaxComplete出现的问题 [打印本页]

作者: myemovie    时间: 2012-12-7 17:49:43     标题: 关于使用全局ajaxComplete出现的问题

为了拦截ajax请求,作处理,按管理员给的答案,我在boot.js中作了处理如下:

//debugger
mini_debugger = false;   


$(document).ajaxComplete(function (evt, request, settings) {
    var text = request.responseText;
    //判断返回的数据内容,如果是超时,则跳转到登陆页面
    if(text.indexOf('用户登录')>0) {
        mini.alert("登录超时");
        top.location = '/common/login.jsp';
    }
   

})

可现在请求页面时,不时报js错误,提示$(document).ajaxComplete这一行的$没有定义:

时间戳: 2012-12-07 17:46:56
错误: ReferenceError: $ is not defined
源文件:http://127.0.0.1:8080/scripts/boot.js
行:38

而事实上,boot.js中是引入了scripts/jquery-1.6.2.min.js 这个文件的,而且这个文件是存在的,以前没有加$(document).ajaxComplete(function (evt, request, settings) {这个方法时,不会出错,现在加上了,就出JS问题了,请问这是什么情况?谢谢

作者: niko    时间: 2012-12-9 10:11:43

在boot.js内,因为jquery.js都是通过script引用的,当你使用的时候还没有。
你可以:
window.onload = function(){
$(document).ajaxComplete(function (evt, request, settings) {
    var text = request.responseText;
    //判断返回的数据内容,如果是超时,则跳转到登陆页面
    if(text.indexOf('用户登录')>0) {
        mini.alert("登录超时");
        top.location = '/common/login.jsp';
    }
   

})
}




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2