前段:
方式1://ajax的post方式提交表单
$.post("/item/save",$("#itemAddForm").serialize(), function(data){
if(data.status == 200){
$.messager.alert('提示','新增商品成功!');
}else{
$.messager.alert('提示','新增商品失败!');
}
});
方式2:/*$.ajax({
type: "POST",//方法类型
dataType: "json",//预期服务器返回的数据类型
url: "/item/save" ,//url
async: false,
data: $('#itemAddForm').serialize(),
success: function (result) {
if (result.status == 200) {
$.messager.alert('提示','新增商品成功!');
}
;
},
error : function() {
$.messager.alert('提示','新增商品失败!');
}
});*/
Controller:
@RequestMapping(value="/item/save",method=RequestMethod.POST)
@ResponseBody
public TaotaoResult createItem(TbItem item,String desc) throws Exception {
TaotaoResult result = itemService.createItem(item,desc);
return result;
}
不论方式1还是2,都无法正常更新。原因查了半天也不知道,麻烦大神们帮帮小白。maven项目
首先,需要知道浏览器提交请求的响应内容是什么,打开浏览器的 F12 调试功能,看看网络请求中这个请求的响应内容是什么。
其次,ajax请求进入那个分支了呢,如果没进入成功分支,是否进入了“新增商品失败”分支了呢,如果是的话,后台响应的TaotaoResult 是否有status状态信息?
第三,在后台Controller打个断点,看看请求流程,查询结果是什么。
@ResponseBody这个注解需要你吧参数转成Json类型,看你的请求是否成功,返回的状态是不是200 result.status == 200 data: JSON.stringify(object),
问题已解决,因为pojo和表单中的buydate的数据类型不一致导致的