我设置了一个全局拦截器用于身份验证和权限认证
设置了一个生成二维码的方法然后renderQrCode
在前台不能用jQuery搞 jQuery的ajax只支持纯文本 于是我就手动搞了ajax
function getBinary(url, args, success, error) { var xmlhttp = new XMLHttpRequest(); var data = eval(args); var i = 0; for (var key in data) { if (i++ === 0) { url += '?' + key + "=" + data[key]; } else { url += '&' + key + "=" + data[key]; } } xmlhttp.open("GET", url, true); xmlhttp.responseType = "blob"; xmlhttp.onload = function () { if (this.status === 200) { success(this.response); } else { error(this.response); } }; xmlhttp.send(); }
然后发现如果登录了那么能拿到二维码
如果没登录 看不到错误信息 页面也没有反应
但是在控制台能看到response拿到了错误信息
控制台我打印结果出来了这个
如果打印this.responseText或者XML 控制台会报错 提示responseType必须是document或者什么都不写才能用
这里我应该怎么处理
项目:JFinal
你当前的信息量,只能猜测,没有登录的情况被拦截器拦截了,用好 @Clear 注解,去掉对部分 action 的拦截