返回结果未定义如何解决
返回结果未定义怎么解决
- 网上给我的启发:
- $('#fm_line').form('submit', {
- url:'line!saveBgLine.do',
- onSubmit: function(){
- if(jQuery("#fm_line").form("validate"))
- return true
- else
- return false;
- },
- //注意ajax的url的后台action方法必须有返回值return "json",而不是return null,否则下面的回调函数不起作用,sucess方法失效
- success:function(data){
- //此处data={"Success":true}实际为字符串,而不是json对象,需要用如下代码处理
- var obj = jQuery.parseJSON(data);
- if(obj.Success){
- jQuery.messager.alert('消息','保存成功!');
- $('#tab_line').datagrid('reload');
- jQuery("#fm_line").form("clear");
- }else{
- jQuery.messager.alert('消息','保存失败!');
- }
- }
- });
- 本人毕设的内容:
-
success:function(result){
var obj = jQuery.parseJSON(result);
if(obj.errorMsg){
$.messager.alert("系统提示",obj.errorMsg);
return;
}else{
$.messager.alert("系统提示","保存成功");
resetValue();
$("#dlg").dialog("close");
$("#dg").datagrid("reload");
} - action里面:
try {
con = dbUtil.getCon();
int saveNums = 0;
JSONObject result = new JSONObject();
int num = patientDao.nameCheck(con, patient);
if (num > 0) {
System.out.println("gogo22222");
result.put("success", "true");
result.put("errorMsg", "保存失败,用户信息已注册完成");
} else {
saveNums = patientDao.BaseInfoAdd(con, patient);
if (saveNums > 0) {
result.put("success", "true");
result.put("errorMsg", "保存成功");
} else {
result.put("success", "true");// 业务逻辑,需要返回success,但返回的是错误message
result.put("errorMsg", "保存失败");
}
}
ResponseUtil.write(ServletActionContext.getResponse(), result);
}