我有一个 jQuery Web 应用程序前端,我想对在 Spring MVC 上运行的 Java 后端进行 GET/POST ajax 调用。
这是我想要发出的 GET 请求:
http://www.myapp.com/backend/doSomething?a=1&b=2
在服务器端,这是我的 BackendController
对象:
@RequestMapping(value = "/backend/doSomething", method = RequestMethod.GET)
public ModelAndView handleDoSomething(@RequestParam("a") String a,
@RequestParam("b") String b) {
ModelAndView mav = new ModelAndView();
mav.setViewName("backend/SomeView");
// process the request...
return mav;
}
这是我迄今为止尝试过的 jQuery:
$.get({
url: "/backend/doSomething?a=???&b=???",
success: function(data) {
}
???
});
我已阅读jQuery $.get页面,我仍然对以下几件事感到困惑:
- 将查询字符串参数附加到
url
的正确方法是什么?对于GET
是吗? - 将表单数据添加到
POST
的正确方法是什么?是吗? - 我看到
success
函数需要三个参数:data
,textStatus
,和jqXHR
,但我看到的很多例子只列出了data
部分 - 你什么时候通过它data
你什么时候通过这三项? get
有什么区别的data
属性(property)及其success: function (data) { ... }
争论?- 我需要在 Spring 后端进行任何特殊配置,以便 jQuery 可以连接到它,还是 jQuery 根本不关心后端?
我尝试查找这些内容,但似乎无法获得这些项目的明确定义。提前致谢。
最佳答案
jQuery 获取/发布参数
- 网址
- Data - 数据对象,用于存储查询字符串(如数据)(即发布变量)
- 成功处理程序(不需要额外的参数,这就是您以不同格式看到它的原因)
- DataType - 期望从服务器返回的数据类型
仅供引用,我相信 url 参数是唯一必需的参数。您的 get 调用应该类似于以下内容:
$.get("/backend/doSomething", { a : a, b : b }, success: function(data) {
// Perform Success code
});
顺便说一下,您还可以使用以下方法序列化表单以将其传递到您的帖子中:
$('form').serialize()
编辑:
关于使用 jQuery 时命名 url、数据和成功参数 $.get()
和 $.post()
, 这不可能。这些函数是 jQuery $.ajax()
的简写版本。如果您无论如何都要执行长格式,那么使用 get/post 是没有意义的。如果您想指定参数,请像这样使用ajax:
$.ajax({
url: "/backend/doSomething",
data: { a : a, b : b },
success: function(data) {
// Perform Success code
}
});
关于java - 让 jQuery GET 与 Spring MVC 后端完美配合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12481368/