使用ajax无法在我的控制器中获得价值?

时间:2017-12-16 00:42:26

标签: java jquery ajax java-ee

我不知道我是否问了正确的问题,但无论如何这是我的问题:我按照教程展示了如何使用Java ee和ajax做了一个简单的例子并且它有效,但我试图应用我的在我的项目中学到了它并没有用,这是我的jsp文件:

<div class="aimerSection">
     <div class="aime">
     <form>
     <input type="hidden" class="adore1" name="aime" value="${post.id}">
     <input type="button" class="adore2" value="J'aime">
     </form>
     </div>
     <c:if test="${ post.adore == 0 || post.adore == 1 }">
     <div class="nbreAimes"><p><span class="nbrAdore">${ post.adore }</span> personne aime ça</p></div>
     </c:if>

     <c:if test="${ post.adore != 0 && post.adore != 1 }">
     <div class="nbreAimes"><p><span class="nbrAdore">${ post.adore }</span> personnes aiment ça</p></div>
     </c:if>

</div>

我想要的是通过点击我的按钮(输入按钮)来获取隐藏输入中的值,所以这是我的jquery文件:

    $(".adore2").click(function(){
    var aime = $(this).parent().find(".adore1").val()
    var value=$(this).parent().parent().siblings().find(".nbrAdore").text()
    alert(value)

    $.ajax({
        type:"POST",
        data: {aime:aime},
        url:"acceuilServlet",
        success:function(result){
             $(this).parent().parent().siblings().find(".nbrAdore").html(result)
        }
    })

})

我想在控制台中看到结果(作为测试),所以这里是我的Controller(doPost方法)的一部分,但我得到任何回应。

    resp.setContentType("text/plain");

    int aime = Integer.parseInt(req.getParameter("aime"));
    aime++;
    System.out.println("hello "+aime);

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

首先,您需要在Web.xml中注册您的servlet,如下所示。然后它知道接受请求。

<web-app>
      <servlet>
        <servlet-name>yourServlet</servlet-name>
        <servlet-class>com.java.YourServlet</servlet-class>
      </servlet>

      <servlet-mapping>
        <servlet-name>yourServlet</servlet-name>
        <url-pattern>*</url-pattern>
      </servlet-mapping>
    </web-app>