Ich versuche, eine AJAX
jQuery Anfrage an meine Spring MVC
Servlet zu senden und habe ein paar Probleme. Ich lese schon einige Artikel, aber sie haben mir nicht helfen :( So habe ich diese ajax
Anfrage:Gültige AJAX-Anfrage mit Spring MVC
$.ajax({
url : "add_news",
type : "POST",
dataType : 'json',
contentType : 'application/json',
mimeType : 'application/json',
data : JSON.stringify({"category": categoryName, "name": newsName, "data": newsData}),
success : function(data) {
$("#list_news").append(
data.id + " : " +
data.name + " - " +
data.created + " ; " +
data.data + "<br>");
}
});
Controller ist:
@RequestMapping (value = "/add_news", method = RequestMethod.POST)
public @ResponseBody News addNews(@RequestParam String category, @RequestParam String name, @RequestParam String data) {
System.out.println("category " + category);
System.out.println("name " + name);
System.out.println("data " + data);
NewsCategoryDict c = new NewsCategoryDict();
c.setId(66);
c.setName("misc");
News response = new News();
response.setCategory(c);
response.setId(60);
response.setName(name);
response.setData(data);
response.setCreated(new java.util.Date());
return response;
}
Ich weiß nicht einmal-System raus - so meine Das erste Problem ist mit URL. "add_news" ist kein jsp
- nur eine Logik, um einen Datensatz vom Server zu bekommen. Zweites Problem (wenn ich es richtig entziffern) in Eintrag Params. Ich muss @RequestBody
verwenden, um Daten vom Client zu erhalten Java POJO und senden Sie diese POJO zurück mit einigen zusätzlichen Informationen, aber ich verstehe nicht, wie t o schreibe JSON
Körper in AJAX.data
Recht, um es gültig zu machen. Bitte helfen Sie mir.
BEARBEITEN Ok. Ich finde einen Moment. Wenn ich GET in $ .ajax verwende und RequestMethod.GET in der Controller-Handler-Methode setze - Methode wird aufgerufen (mit POST - keine Aktionen). Warum funktioniert POST nicht?
Dies bedeutet also, @RequestParam in meiner Methode, um wie AJAX.data sein wird? Und was ist mit URL - ich habe keine println in Controller? – R1K0
Warum GET-Methode funktioniert und POST-Methode Controller nicht aufruft? – R1K0
Wenn Sie 'GET' verwendet haben, verwenden Sie' JSON.stringify() '? – Blank