我设置了一个全局拦截器用于身份验证和权限认证
设置了一个生成二维码的方法然后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 的拦截