jQuery MiniUI

 找回密码
 立即注册
查看: 3146|回复: 1
打印 上一主题 下一主题

关于使用全局ajaxComplete出现的问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2012-12-7 17:49:43 |只看该作者 |倒序浏览
为了拦截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问题了,请问这是什么情况?谢谢

Rank: 9Rank: 9Rank: 9

沙发
发表于 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';
    }
   

})
}

Archiver|普加软件

GMT+8, 2024-11-27 06:15 , Processed in 1.058413 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部