【发布时间】:2016-07-09 07:10:27
【问题描述】:
我正在尝试向我的Spring MVC Servlet 发送一个AJAX jQuery 请求,但遇到了一些问题。我已经阅读了一些文章,但它们对我没有帮助:(
所以我有这个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 - 只是从服务器获取记录的逻辑。
输入参数中的第二个问题(如果我理解正确的话)。我必须使用@RequestBody 从客户端获取作为 Java POJO 的数据,并将这个 POJO 连同一些附加信息一起发送回来。但我不明白如何在AJAX.data 中写入JSON 正文以使其有效。
请帮帮我。
编辑 行。我找了一会儿。如果我在 $.ajax 中使用 GET 并在控制器处理程序方法中设置 RequestMethod.GET - 将调用方法(使用 POST - 无操作)。那么为什么 POST 不起作用??
【问题讨论】:
标签: java jquery ajax spring-mvc