java - 同一 Controller 中的多个 post ajax 到不同方法

标签 java ajax jsp spring-mvc post

我是 jquery、js、java 等领域的新手。我正在使用 spring mvc maven。

我有一个 jsp 文件,其中有两个具有不同 url 的 post 函数,它们与同一 Controller 中的两种不同方法相匹配。

所以我期望=>

  • caseAsend(在 myTest.jsp 中)将数据发送到 caseAHandler(在 myController.java 中)
  • caseBend(在 myTest.jsp 中)将数据发送到 caseBHandler(在 myController.java 中)

但是 caseAsendcaseBsend 最终都到达 myController.java 中的相同处理程序

[note] caseAsendcaseBsend在jsp文件中被不同的行为调用,在 Controller 中也需要进行不同的处理。所以应该单独处理

[问]如何在 myController.java 中的 post ajaxhandling method 之间进行 1:1 映射。 为什么两个帖子都会使用相同的方法,即使网址不同?

[我的代码是这样的]:

1) myTest.jsp

function caseAsend(title, id){     
    $.ajax({
            url:'/test/{caseA}.html',
            data: 'title='+title+'&id='+id+'&something'+something,
            type:"POST",
            success: function(response){
                    alert('caseA done');
            }   
  });
}

function caseBsend(title, id){     //something wrong
     $.ajax({
                  url:'/test/{caseB}.html',
                  data: 'title='+title+'&id='+id+'&somethingelse='+somethingelse,
                  type:"POST",
                  success: function(response){
                                alert('caseB done!');
            }   
     });
}

2) myController.java

@RequestMapping(value="/test/{caseA}", method = RequestMethod.POST)
public @ResponseBody String caseAHandler(@RequestBody String  response) {
      …
      ...
}

@RequestMapping(value="/test/{caseB}", method = RequestMethod.POST)
public @ResponseBody String caseBHandler(@RequestBody String  response) {
{
    ….
    …
}

几天来我一直在寻找类似的其他答案,但我无法真正清除它。我在这里做错了什么?

也许对于熟悉这个世界的人来说,这就是如此明显或简单。但我无法弄清楚为什么两个帖子即使使用不同的网址也会采用相同的方法。如果有人解决这个问题,我真的很感激。

最佳答案

{} 中的值是 URL 占位符。因此,您的 caseAHandler 将对任何/test/a、/test/bb 等 URL 使用react。

如果您需要单独的处理程序对单独的 URL 使用react,请尝试删除 {}。

@RequestMapping(value="/test/caseA", method = RequestMethod.POST)
@RequestMapping(value="/test/caseB", method = RequestMethod.POST)

在 JSP 中也是如此

关于java - 同一 Controller 中的多个 post ajax 到不同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30186097/

相关文章:

java - 单个 tomcat 和 postgres 实例上的多个应用程序?

java - 在设计异步 Java API 时,如何确保整个 CompletableFuture 链由内部线程池执行?

javascript - Ajax 中多次执行只有一个警报

java - 如何从jsp到jsp发送和接收多个单选按钮值

javascript - jqgrid下拉菜单传递另一列的值

java - JSP:转发页面时出错

Java vs Objective-C : Exception, 到达最终 block

php - build 中页面的非常简单的订阅表格

javascript - 如何让辅助函数返回 React hook 函数的 promise

Java 异常 getMessage() 返回 null