jfinal的ajax方式异常如何处理

byang 发布于 2014/02/12 17:43
阅读 482
收藏 2

@JFinal 你好,想跟你请教个问题:

一般ajax请求add()方法:

public void add() {
	try {...
		writeJson(JSON.toJSONString(new AjaxJson(true, "...成功!")));
	} catch (Exception e) {
		writeJson(JSON.toJSONString(new AjaxJson(false, "...失败!")));
		log.error("添加收藏失败!", e);
	}
}

如果方法出现异常页面可以很直接的得到操作结果;

 

$.ajax({
	type : 'post',
	url : '...',
	data : {..},
	dataType : 'json',
	success : function(r) {
		if (r.success) {
			alert(r.msg);
		}
	}
})



jfinal的方法出现异常,会跳转统一500错误页面,或者ExceptionInterceptor拦截重新跳转当前页面并keep参数(很别扭);

有没有什么方式能够满足第一种操作习惯






加载中
0
JFinal
JFinal

   做个 MyJsonRender extends Render,然后将错误提示等参数据一同传进去,还可以添加回调。

   也可以如楼主第一段代码中所示,写个writJson方法,直接 getResponse().getWriter(),然后往里面写数据,需要注意这样做数据输出会发生在拦截器的 ai.invoke()之前

返回顶部
顶部