【问题标题】:AJAX - Running a servlet with a parameter and retrieving values [duplicate]AJAX - 使用参数运行 servlet 并检索值 [重复]
【发布时间】:2018-01-02 22:13:31
【问题描述】:

我要做的就是将按钮值从 .jsp 文件发送到 servlet,然后从数据库中检索特定于按钮值的值,然后将值发送回页面。比如……

例如:如果用户单击值为 1 的按钮,他们应该从数据库中检索用户 1 的数据。

我想我的问题是......我将如何向 servlet 发送参数并让 servlet 在单击按钮时响应请求的数据,而不刷新页面。

【问题讨论】:

    标签: javascript ajax xml jsp servlets


    【解决方案1】:

    这可以使用基本的 jQuery 轻松完成。 在 jsp/html 部分,您只需要定义一个按钮,其中包含您需要传达给 servlet 的所需值。例如:

    <button id="toClick" value="1"></button>
    

    然后在 jquery 部分,您应该在单击此特定按钮时进行 ajax 调用。像这样的,

    $("#toClick").click(function() {
    $.ajax({
        url:"/servlet_goes_here",
        data: {id:$("#toClick").val()}
    })
     .done(function(response) {
        alert("do whatever you want to do with the response")
     });
    });
    

    响应将是来自 servlet 端的 json 响应。如果没有需求/没有json响应,可以避开done块,或者用它来测试ajax调用。

    【讨论】:

      【解决方案2】:

      您可以简单地与 ajax 请求一起发送数据,然后从 Servlet 中的请求对象中检索它。

      第 1 步 - 将按钮值发送到 javascript 函数:

      <button type="button" value="value1" onclick="loadDoc(this.value)">Get Content</button>
      

      Step2 - 创建 javacript 函数以获取此值并通过 ajax 请求发送:

      function loadDoc(data) { 
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        document.getElementById("demo").innerHTML =
        this.responseText;
      }
      };
      xhttp.open("GET", "http://www.example.com?data1="+data, true);
      xhttp.send();
      }
      

      第 3 步 - 使用您的 HttpServletRequest 在 servlet 中检索此数据:

      String reqData = request.getParameter("data1");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-27
        • 1970-01-01
        • 2011-12-08
        • 1970-01-01
        • 2018-10-29
        • 2019-06-20
        • 2018-11-30
        相关资源
        最近更新 更多