AJAX
jQueryリクエストをSpring MVC
サーブレットに送信しようとしましたが、いくつか問題がありました。私はすでにいくつかの記事を読んで、彼らは私を助けていませんでした:( だから私はこのajax
要求している:Spring MVCで有効なAJAXリクエスト
$.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>");
}
});
コントローラは次のとおりです。
@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;
}
私もシステムを得ることはありません - ので、私の最初の問題はURLです。 "add_news"はjsp
ではありません。サーバからレコードを取得するためのロジックです。 2番目の問題(私がundestandなら正しい場合)は入力パラメータで@RequestBody
を使用してクライアントからデータを取得する必要があります。 Java POJOを追加してこのPOJOを送り返してください。しかし、どのようにしてo有効にするには、JSON
本文をAJAX.data
に書いてください。 私を助けてください。
EDIT 私は瞬間を見つける。 $ .ajaxでGETを使用し、コントローラハンドラメソッドのRequestMethod.GETを設定すると、メソッドが呼び出されます(POSTではアクションなし)。だからなぜPOSTは動作していないのですか?
をこれが私の方法で@RequestParamがAJAX.dataのような順序になることを意味? URLはどうしたらコントローラにprintlnがないのですか? – R1K0
なぜGETメソッドが動作し、POSTメソッドがコントローラを起動しないのですか? – R1K0
'GET'を使ったときは、' JSON.stringify() 'を使いましたか? – Blank