java - 让 jQuery GET 与 Spring MVC 后端完美配合

标签 java javascript jquery spring-mvc get

我有一个 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页面,我仍然对以下几件事感到困惑:

  1. 将查询字符串参数附加到 url 的正确方法是什么?对于 GET是吗?
  2. 将表单数据添加到 POST 的正确方法是什么?是吗?
  3. 我看到success函数需要三个参数:data , textStatus ,和jqXHR ,但我看到的很多例子只列出了 data部分 - 你什么时候通过它 data你什么时候通过这三项?
  4. get 有什么区别的data属性(property)及其success: function (data) { ... }争论?
  5. 我需要在 Spring 后端进行任何特殊配置,以便 jQuery 可以连接到它,还是 jQuery 根本不关心后端?

我尝试查找这些内容,但似乎无法获得这些项目的明确定义。提前致谢。

最佳答案

jQuery 获取/发布参数

  1. 网址
  2. Data - 数据对象,用于存储查询字符串(如数据)(即发布变量)
  3. 成功处理程序(不需要额外的参数,这就是您以不同格式看到它的原因)
  4. 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/

相关文章:

javascript - 将 JavaScript 注入(inject)网站

javascript - 提交表单时删除模式主体

java - 我如何查看 Java 进行了哪些优化

java - 如何使用 CompareTo 对字母表进行排序

java - 使用java将json格式字符串转换为数据集spark

javascript - 在新表中从 Firebase 存储打开文件而不下载

javascript - 只在一个特定页面上使用脚本

javascript - 由 jquery.blur() 引起的 Inprog 操作已在进行中

javascript - 选项卡在 jQuery 中不起作用?

java - 在类型为 'name' 的对象上找不到属性或字段 'java.util.Optional' - 可能不是公开的或无效的?