问题描述:
登录页面,中间层验证通过后,会以JSON格式返回结果给页面,如果也看到code=1,表示成功,可以跳转到主页面。
以上流程在Chrome、fireFox下都没问题,在IE下变成下载JSON文件的提示。
如何解决?
查看了过往回复,是在MainSetup或其他SetupBy中引用的类的init方法里面加, 例如:
public void init(NutConfig nc) {
UTF8JsonView.CT = "text/plain";
// 其他代码
}
问题是,我在MainSetup中加了以后,其他地方都出现的不正常,能否只在登录验证一个方法中加入呢?
附上登录代码:
@At("/login")
public Object login(@Param("loginName")String loginName,@Param("loginPwd")String loginPwd,@Param("loginMode")String loginMode) {
System.out.println(loginName + " - " + loginPwd);
NutMap map = new NutMap();
map.put("loginName", loginName);
map.put("loginPwd", loginPwd);
map.put("loginMode", loginMode);
map = (NutMap)comServices.ExcuteServices("B99.03.11", map);
Mvcs.getHttpSession().setMaxInactiveInterval(60*60*6);//
if(map.getString("code").equals(Globals.Code.OK_CODE)) {
User users = (User)map.get("result");
setSessionAttr(Globals.SESSION_USER_CODE, users);
return WriteToClient(Globals.Code.OK_CODE, "/index.jsp");
} else {
return map;
}
}
public Object WriteToClient(String code, String str) {
NutMap nutMap = new NutMap();
nutMap.put("code", code);
nutMap.put("result", str);
return nutMap;
}
function login(){
$("#Prompt").hide();
$('#loginForm').form({
url : base + "/user/login",
onSubmit: function(){
if($.trim($("input#u").val()) == "") {
$("#u").focus();
return false;
}
if($.trim($("input#p").val()) == "") {
$("#p").focus();
return false;
}
},
success : function(resp){
var obj = $.parseJSON(resp);
if(obj.code != "1") {
$("#Prompt").html(obj.result);
$("#Prompt").show();
} else {
location.href = base + obj.result;
}
}
});
$('#loginForm').submit();
}