ajax代码
function delUserInfo() {
jQuery.ajax({
type : 'POST',
contentType : 'application/json',
url : 'user/delUser',
data : {'id':'12'},
dataType : 'json',
success : function(data) {
alert("删除成功!");
},
error : function(data) {
alert("error")
}
});
}
后台代码
@RequestMapping(value = "/delUser", method = RequestMethod.POST)
@ResponseBody
public Map<String, String> delUser(@RequestParam(value="id", required=true) String id) {
logger.info("捕获到前台传递过来的id:" + id);
UserInfo tmpUserInfo = new UserInfo();
tmpUserInfo.setId(Integer.parseInt(id));
userManage.deleteUser(tmpUserInfo);
Map<String, String> map = new HashMap<String, String>(1);
map.put("success", "true");
return map;
}
首先检查能不能进入后台,返回类型不对,可以改成一个String类型,如type=“1”;
你的Ajax请求参数data的key id去掉单引号试试。400响应码说明你的请求无法有问题,服务器无法解释。
400是错误请求,原因可能是User实体类中id是Long或者int型,而你给它一个String,所以就报错。
,语法错误,看看项目上有相似的方法吗,对照下,看看为什么跳不过去。
可以f12看下控制台的请求有没什么问题
把content-type改成这样application/x-www-form-urlencoded,,试试
问题已经解决,原因是data不是json对象
function delUserInfo() {
var tmp = {'id':'12'};
var sendData = JSON.stringify(tmp);
jQuery.ajax({
type : 'POST',
contentType : 'application/json',
url : 'user/delUser',
data : sendData,
dataType : 'json',
success : function(data) {
alert("删除成功!");
},
error : function(data) {
alert("error")
}
});
}