删除请求 ajax jquery 不起作用

delete request ajax jquery don't function

我正在尝试使用 Ajax 执行删除请求,但它不起作用,我收到一个内部错误,但我看不出问题所在,你能帮我吗?

这是javascript的部分代码:

$.ajax({
    url: 'http://localhost:8080/actors/remover',
    type: 'DELETE',
    data: JSON.stringify(movie),
    traditional:true,
    dataType: 'json',
    success: function(result) {...},
    error: function(result){...}
});

这里是我的控制器代码:

@RequestMapping(value = "/actors/remover", method = RequestMethod.DELETE)//TODO, elimina un attore dal db
public boolean remove(@PathVariable("movie") int movie) {
    System.out.println("Attori da cancellare");
    serv.deleteActors(movie);
    return true;
}//remove

我在你的代码中看到的问题:

  1. dataType:'json' 如果您将响应作为 json 对象使用。
  2. 在后端你根本没有生成 json 但有一个 boolean.
  3. 你必须使用 contentType:'application/json'.
  4. 而且没有必要使用traditional:true

所以我建议你使用这个:

$.ajax({
    url: 'http://localhost:8080/actors/remover',
    type: 'DELETE',
    data: {movie:movie}, //<-----this should be an object.
    contentType:'application/json',  // <---add this
    dataType: 'text',                // <---update this
    success: function(result) {...},
    error: function(result){...}
});