您的位置:首页 > 产品设计 > UI/UE

EasyUI form submit success方法失效,且在IE下提示下载内容的解决办法

2016-06-30 00:34 531 查看

后台代码

@RequestMapping(value="/save", produces = "text/htm;charset=UTF-8")

@ResponseBody

public String save(HttpServletRequest request,HttpServletResponse response)

{

String result="{\"state\":\"save_fail\"}";

String gname = "";

String gcid = "";

String guint = "";

try {

gcid = new String(request.getParameter("gcid").getBytes("ISO8859-1"),"UTF-8");

guint= new String(request.getParameter("gunit").getBytes("ISO8859-1"),"UTF-8");

gname = new String(request.getParameter("gname").getBytes("ISO8859-1"),"UTF-8");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

float gpin = Float.parseFloat(request.getParameter("gpin"));

int gamount = Integer.parseInt(request.getParameter("gamount"));

float gpout = Float.parseFloat(request.getParameter("gpout"));

String gid  = request.getParameter("gid");//取得gid

System.out.println("gid="+gid);

GoodsInfo goodsInfo = new GoodsInfo(gid,gname,gcid,guint,gpin,gpout,gamount);

if("".equals(gid)){

try{

if(goodsInfoService.save(goodsInfo))

{

result="{\"state\":\"save_success\"}";

System.out.println(result);

}

}catch(Exception ex){

System.out.println(ex.getMessage());

}

}else{

boolean flag = goodsInfoService.updateGoods(goodsInfo);

if(flag){

result="{\"state\":\"edit_success\"}";

System.out.println(result);

}else{

result="{\"state\":\"edit_fail\"}";

}

System.out.println(flag);

}

JSONObject str = JSONObject.parseObject(result);

//response.setContentType("text/html");

return result;

}


前台代码

function submitForm() {

var gid = $(‘#gid’).val();

var url = ”;

url = ‘${ctx}/goodinfo/save?gid=’+gid;

$(‘#fm’).form(‘submit’, {

url: url,

method:’post’,

onSubmit: function () {

return $(“#fm”).form(‘enableValidation’).form(‘validate’);

},

success: function (state) {

alert(state);

//var result = $.parseJSON(data);

/*if(result.state == “save_success”){

alert(“新增成功!”);

}else if(result.state == “save_fail”)

{

alert(“新增失败!”);

}

else if(result.state == “edit_suceess”)

{

alert(“修改成功!”);

}

else if(result.state == “edit_fail”)

{

alert(“修改失败!”);

}*/

alert(“成功”);

}

});

// $(‘#goodinfo’).datagrid(‘reload’);

}


前台:success: function (state) 方法失效;

原因:默认返回setContentType(“application/json”)

必须返回setContentType(“text/htm”)

但是修改xml和代码中添加response.setContentType(“text/html”)

没有效果。

解决方法

解决方法:在注解@RequestMapping(value=”/save”, produces = “text/htm;charset=UTF-8”) 添加produces = “text/htm;charset=UTF-8”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: