后台代码
@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”