2016-01-22 2 views
0

Я пытаюсь выполнить запрос DELETE с Ajax, но он не работает, я получаю внутреннюю ошибку, но я не вижу проблемы, вы можете мне помочь?удалить запрос ajax jquery не работает

это частичный код 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

проблемы я вижу в вашем коде:

  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 have to be an object. 
    contentType:'application/json', // <---add this 
    dataType: 'text',    // <---update this 
    success: function(result) {...}, 
    error: function(result){...} 
}); 
+1

я использовал это решение и функции: –

+0

$ .ajax ({ \t \t \t \t \t \t URL: «HTTP:// localhost: 8080/actors/'+ movieId, \t \t \t \t \t тип: 'DELETE', \t \t \t \t \t \t успех: функция (результат) {...} –