JFinalUIB 后台运行结果如何友好地在前台展示

发布于 2021-11-27 20:55:57 字数 652 浏览 652 评论 4

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

我在controller中对前台提交的数据做一些操作,如果操作结果符合要求就跳到新页面,不符合要求就在当前页面弹窗显示具体的原因。大概的逻辑代码如下:

public void fun() {
	String input = getPara("input");	
	String result = Service.dao.doSomething(input);
	
	if(isOk(result)) {
		render("newPage.html"); //跳到新页面
	} else {
		String reason = whyIsNotOK(result);
		//Todo: 在当前页面弹窗展示不符合要求的原因
	}
}
我提交表单用的是 ajaxForm 函数,但是这个函数里的 success 做的是替换某个 div 的内容, 如果 我现在需要弹窗的话貌似并不适用。

所以我想请教一下,JfinalUIB 中是否已经实现了相应的方法来满足这样的需求?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

丢了幸福的猪 2021-11-30 19:53:06

已解决,问题出在 json 格式上( json 中的字符串只能用双引号T_T)代码改成 renderJson("{"errorMsg":""+ testJson +""}"); 就好了,谢谢你的回答!

南冥有猫 2021-11-30 18:58:38

学会用firebug之类的工具调试,数据有没返回都看得到,如果有返回就是程序写的有问题

德意的啸 2021-11-30 17:04:32

@littleant 你好,我打算使用返回 json 格式数据的方法,但是 render 和 renderJson 试了都没有用,修改后的 ajaxForm 函数主要部分为:

success:  function (data) {
	if(data != ""){
		if(isJson(data)){
			simpleDialog('提示', data.errorMsg);
		}
		else {
			$("#" + divId).html(data);
		}
	} else {
		alert('没有数据');
	}
},
error: function () {
	alert('error');
}
String testJson = "这是一个错误信息测试";
renderJson("{'errorMsg':'"+ testJson +"'}");

使用renderJson 返回数据,最后会直接进入 error

String testJson = "这是一个错误信息测试";
render("{'errorMsg':'"+ testJson +"'}");

使用 render 时,ajaxForm 获取到的 data 为空,弹出 “没有数据”

想问下我哪里写错了?

猫九 2021-11-29 18:22:51

你在返回的数据里面插入一个特殊标识,如果找到特殊字符弹出提示,否则就显示返回的新页面内容。

要不就是下面的返回json格式数据,能转json就是需要提示,提示内容还可以用json存着在前端取出来做展示用

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文