request getParameter zwraca null

0

Witam

mam następujący kod
ajax z js:
function myFunction(){

	   elDeleted = tab.shift(); 
	   console.log("test:" +   elDeleted);
	 $.ajax({
		 url: '../test',
		 type: 'POST',
		 dataTuype: 'json',
		 date: {
			 id :  tab[0]},
			 success : function(responseText) {
				 location.reload()
				 
				
		 }
	 })
}

java:
@WebServlet("/test")
public class test extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public test() {
    super();
    // TODO Auto-generated constructor stub
}


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws  ServletException, IOException {
	// TODO Auto-generated method stub
	
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	 response.setContentType("txt/html");
	  String kk = request.getParameter("id");
	  PrintWriter out  = response.getWriter();
	 
	  out.print(kk);
	  System.out.print( kk);
	  TypyWizyt  tp = new TypyWizyt();
 
//  tp.Delete(id);

}

}
i z request.getParameter("id"); dostaje null. Próbowałem na różne sposoby ale już nie mam pomysłu czemu tak się dzieje.
Proszę o pomoc w rozwiązaniu mojego problemu

0

Nie jestem pewny ale request.getParameter("id") odnosi się do parametrów przekazywanych w URLu np. localhost:8080/test?id=2 w przypadku metody GET. Ty natomiast robisz POSTa, sprawdź czy w przypadkiem tych danych nie masz w body requesta.

0

Jak wyżej dane by były w body, gdyby nie to. że i w Js jest pełno literówek / błędów.
Prędzej zadziała coś takiegoi

  $.ajax({
         url: '../test',
         type: 'POST',
         dataType: 'json',
         data: {id :  tab[0]},
         success : function(responseText) {
                 console.log(responseText);
         }
     });
``
0

teraz zauważyłem że to nie leży wina w odbiorze danych, tylko w wysyłce. Ajax wysyłał nulla.
Powinno być:
$.ajax({
url : '../test',
type : 'POST',
dataType : 'json',
data : {
'id' : elDeleted
},
success : function(responseText) {
console.log(responseText);
}
});

Dzięki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1