Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 未找到请求ajax spring mvc_Jquery_Ajax_Spring Mvc - Fatal编程技术网

Jquery 未找到请求ajax spring mvc

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 =

我有一张有人的桌子。当我单击delete图标时,我想从数据库中删除此人,并在成功时从表中删除该行。 我经常得到
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是的,很抱歉出现了空白。添加内容类型将为您提供答案