用ssh+easyui时使用ajax发送数据,收到的数据出现有关问题

用ssh+easyui时使用ajax发送数据,收到的数据出现问题
本帖最后由 showbo 于 2015-04-03 09:15:15 编辑
jsp页面(这个参照官方的例子)
function saveUser(){
$('#fm').form('submit',{
url: save.action,
onSubmit: function(){
return $(this).form('validate');
},
success: function(result){
var result = eval('('+result+')');
if (result.success){
$('#dlg').dialog('close'); // close the dialog
$('#dg').datagrid('reload'); // reload the user data
} else {
$.messager.show({
title: 'Error',
msg: result.msg
});
}
}
});
}

struts action:
private Map<String,Object> dataMap = new HashMap<String, Object>();
public String save() throws Exception{
/*Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session sess = sf.openSession();
Transaction tx = sess.beginTransaction();*/
Shop shop = new Shop();
shop.setShopid(1);
shop.setShopname(shopname);
shop.setShoplocation(shoplocation);
shop.setGoodsidlist(goodsidlist);
shop.setShopcid(shopcid);
shop.setShopimage(shopimage);
try{
this.shopService.saveShop(shop);
dataMap.put("success", true);
//inputStream = new ByteArrayInputStream(dataMap.getBytes("utf-8")); 
}catch(Exception e){
dataMap.put("msg", "保存失败");
}
JSONUtils.toJson(ServletActionContext.getResponse(), dataMap);
return SUCCESS;
}

JSONUtils类
package com.test.tools;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;

public class JSONUtils {
    public static void toJson(HttpServletResponse response, Object data) 
        throws IOException {
        Gson gson = new Gson();
        String result = gson.toJson(data);
        response.setContentType("text/json; charset=utf-8");
        response.setHeader("Cache-Control", "no-cache");
        PrintWriter out = response.getWriter();
        out.print(result);
        out.flush();
        out.close();
    }
}

可以完成数据库插入操作,就是jsp页面收到了success的json数据,但是jsp页面中$('#dlg').dialog('close');$('#dg').datagrid('reload');这两句不执行,我知道是jsp页面收到的响应数据出现了问题,但是始终无法解决,希望各路大神帮我看下
------解决思路----------------------
把private Map<String,Object> dataMap = new HashMap<String, Object>();放到sava函数试试。。
------解决思路----------------------
收到 数据有问题 是 哪里 有问题呢?    js控制台 看错误 看了没 
 
既然是ajax ,有没试过 加上error:function() 来看下 具体是什么错误,, 如果是 进入了 success:function  那么就没什么问题

调了之后 有错误 无法解决  可以 把 错误信息贴出