Jquery 未找到请求ajax spring mvc
我有一张有人的桌子。当我单击delete图标时,我想从数据库中删除此人,并在成功时从表中删除该行。 我经常得到Jquery 未找到请求ajax spring mvc,jquery,ajax,spring-mvc,Jquery,Ajax,Spring Mvc,我有一张有人的桌子。当我单击delete图标时,我想从数据库中删除此人,并在成功时从表中删除该行。 我经常得到deletemployee?id=37未找到404。 我有一个带有@RequestMapping(value=“/deletemployee”,method=RequestMethod.GET)的控制器。 我单击的人已从数据库中删除(选中),因此控制器应该是正常的。但是为什么我会出错呢 @RequestMapping(value = "/deleteEmployee", method =
deletemployee?id=37未找到404
。
我有一个带有@RequestMapping(value=“/deletemployee”,method=RequestMethod.GET)
的控制器。
我单击的人已从数据库中删除(选中),因此控制器应该是正常的。但是为什么我会出错呢
@RequestMapping(value = "/deleteEmployee", method = RequestMethod.GET)
public void deleteEmployee(@RequestParam(value = "id", required = true) int id) {
System.out.println(id);
employeeDAO.deleteEmployee(id);
}
$(document).on('click','.delete-emp', function(){
deleteEmployee(this);
});
function deleteEmployee(el){
var id = $(el).parent().attr('data');
console.log("delete: "+id);
$.ajax({
url: "deleteEmployee?id="+id,
success: function(){
deleteRow(id);
}
});
}
function deleteRow(el){
var row = $('.employee-row[data='+el+']');
var shiftRow = row.next();
console.log("deleting "+row+" "+shiftRow);
row.remove();
shiftRow.remove();
}
在方法中使用@ResponseBody注释就足够了。这会解决你的问题
@RequestMapping(value = "/android/api/home", method = RequestMethod.GET, produces=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody void Home(Locale locale, Model model,HttpServletRequest request,HttpServletResponse response) throws IOException {
//your logic
}
在ajax调用中添加内容类型
jQuery
.ajax({
url : controllerUrl,
data : oMyForm,
dataType : 'text',
processData : false,
contentType : false,
type : 'POST',
success : function(data) {
}
});
在方法中使用@ResponseBody注释就足够了。这会解决你的问题
@RequestMapping(value = "/android/api/home", method = RequestMethod.GET, produces=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody void Home(Locale locale, Model model,HttpServletRequest request,HttpServletResponse response) throws IOException {
//your logic
}
在ajax调用中添加内容类型
jQuery
.ajax({
url : controllerUrl,
data : oMyForm,
dataType : 'text',
processData : false,
contentType : false,
type : 'POST',
success : function(data) {
}
});
您应该确认已将ajax url映射到控制器方法“
@RequestMapping
。不要返回void,返回httpStatus OK@ResponseStatus(value=HttpStatus.OK)
您当前页面的url和上下文路径是什么?使用ModelandView类返回,而不是void。@TCHdvlp您能评论一个shor示例吗?我如何实现HttpStatus?我应该将返回值设置为httpStatus而不是void吗?或者我只是将“@ResponseStatus(value=HttpStatus.OK)”放在void之前?您应该确认您已经将ajax url映射到控制器方法“@RequestMapping
。不要返回void,返回HttpStatus OK@ResponseStatus(value=HttpStatus.OK)
您当前页面的url和上下文路径是什么?使用ModelandView类返回,而不是void。@TCHdvlp您能评论一个shor示例吗?我如何实现HttpStatus?我应该将返回值设置为httpStatus而不是void吗?或者我只是把“@ResponseStatus(value=HttpStatus.OK)”放在void之前?我用void尝试了一下,得到了一个空页面。我想留在页面上而不刷新它。只需启动ajax,它删除db中的一行,而不是删除DOM表中的同一行。db中的行已被删除,但我收到了错误响应,因此DOM中的行不会更新。您只需在响应正文中返回一个字符串即可。我正在更新我的答案请参见上文,您将停留在同一页面。如果您已声明函数无效
,则无法返回字符串。但是,这就是如何解决这个问题的想法。@TCHdvlp是的,很抱歉出现了空白。添加内容类型会给你答案。我用void尝试了一下,但得到了一个空页面。我想留在页面上而不刷新它。只需启动ajax,它删除db中的一行,而不是删除DOM表中的同一行。db中的行已被删除,但我收到了错误响应,因此DOM中的行不会更新。您只需在响应正文中返回一个字符串即可。我正在更新我的答案请参见上文,您将停留在同一页面。如果您已声明函数无效
,则无法返回字符串。但是,这就是如何解决这个问题的想法。@TCHdvlp是的,很抱歉出现了空白。添加内容类型将为您提供答案