当前位置: 首页 > 面试题库 >

如何在不提交表单的情况下使用ajax将数据发送到servlet

耿永寿
2023-03-14
问题内容

我是servlet的新手,我可以从servlet中获取数据,但无法向其中发送数据,我想在不使用提交表单的情况下执行此操作,请问我能得到一些帮助吗

单击该按钮,它将转到servlet并返回文本,但不返回发送给它的值

这是我的index.jsp

<!DOCTYPE html>
<html lang="en">
<head>
    <title>SO question 4112686</title>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script>
        $(document).ready(function() {                       
            $('#somebutton').click(function() {               
                $.get('GetUserServlet', function(responseText) { 
                    $('#somediv').text(responseText);        
                });
            });
        });
        $("#somebutton").click(function(){
        $.ajax
        (
        {
            url:'GetUserServlet',
            data:{name:'abc'},
            type:'get',
            cache:false,
            success:function(data){alert(data);},
            error:function(){alert('error');}
        }
    );
}
);
    </script>
</head>
<body>

    <button id="somebutton" onclick="showHint('GetUserServlet.java',   'travis');">press here</button>
    <div id="somediv"></div>
</body>

这是我的servlet

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String text = "Update Sucessful";
String name = request.getParameter("name");


response.setContentType("text/plain");  // Set content type of the response so that jQuery knows what it can expect.
response.setCharacterEncoding("UTF-8"); // You want world domination, huh?
response.getWriter().write( name + text);       // Write response body.

问题答案:

您可以在此处使用$ .ajax()或$ .post。因为您已使用$ .ajax()。请参考以下更正:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>SO question 4112686</title>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script>
        $(document).ready(function() {                       
            $('#somebutton').click(function() {               
                $.get('GetUserServlet', function(responseText) { 
                    $('#somediv').text(responseText);        
                });
            });
        });


        $("#somebutton").click(function(){
         $.ajax({
            url:'GetUserServlet',
            data:{name:'abc'},
            type:'get',
            cache:false,
            success:function(data){
               alert(data);
               $('#somediv').text(responseText); 
            },
            error:function(){
              alert('error');
            }
         }
    );
}
);
    </script>
</head>
<body>

    <button id="somebutton">press here</button>
    <div id="somediv"> </div>
</body>

并且您的servlet应该是:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;

public class GetUserServlet extends HttpServlet {
  public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
    doPost(request, response);
  }

  public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
    String text = "Update successfull"; //message you will recieve 
    String name = request.getParameter("name");
    PrintWriter out = response.getWriter();
    out.println(name + " " + text);
  }


 类似资料:
  • 问题内容: 我正在尝试不使用AJAX将数据发布到REST api。我想以JSON格式发送数据。我有以下代码,但一直试图找出如何转换输入字段并将其发布到服务器。这是我的代码尝试: 问题答案: 您可以使用json值添加一个隐藏的输入字段,如下所示- 您可以使用参数( 隐藏输入的名称 )访问json

  • 问题内容: 我四处张望,我所能找到的就是关于jQuery的信息。 在SO的伟大思想者的大力帮助下,我终于完成了表单验证(目前仅是客户端,但这是因为它是任务)。我现在需要使用AJAX将表单提交到PHP文件。 我的要求是验证它是通过AJAX调用的,验证所有必填字段都具有值,并返回成功状态,包括处理它的服务器时间。 JS小提琴 form动作现在是空的,无法进行测试,但最终将使用下面的代码调用form.p

  • 问题内容: 我已经使用提交按钮在ajax中发送了数据,而没有刷新任何页面。但是页面刷新了。 请检查我的代码,让我知道问题所在。 ajax.php 问题答案: js已经阻止了表单提交 问题中的代码 已经 阻止了此行提交表单: 这意味着:问题中的JavaScript代码根本没有运行。 该表格尚不存在 这里的问题是当此行代码运行时: 那个元素还没有加入dom 。因此,提交处理程序不附加任何内容-表单提交

  • 问题内容: 我在应用程序中使用Struts2框架,在JSP页面上有一个按钮。那是 现在,我希望此按钮的行为与常规HTML按钮类型相同,不应提交表单并在事件上执行脚本功能。该函数使用Ajax提交表单。 但是发生的事情是Struts2将其转换为 我的表格已提交。 1)如果我使用HTML按钮标记,它将使GUI混乱。我表单的主题是Ajax。 这是带有脚本的标签 我的标签是关注者: 任何人都有用Struts

  • 本文向大家介绍以HTML提交表单时,如何指定将表单数据发送到何处?,包括了以HTML提交表单时,如何指定将表单数据发送到何处?的使用技巧和注意事项,需要的朋友参考一下 使用动作属性将文件添加到您要在单击“提交” 按钮之后到达的位置。您还可以添加电子邮件以将数据发送到该电子邮件ID。 示例 您可以尝试运行以下代码来设置以HTML提交表单时将表单数据发送到的位置-

  • 问题内容: 我想以ajax的形式发送所有输入。我有这样的形式。 在.js文件中,我们有以下代码: 但这不起作用。我不想使用Form数据。 问题答案: 只要我们要发送具有名称属性的所有表单输入字段,就可以对所有表单执行此操作,而与字段名称无关: 第一个解决方案 第二个解决方案 :在此解决方案中,您可以创建一个输入值数组:

  • 本文向大家介绍设置以HTML提交表单时将表单数据发送到何处?,包括了设置以HTML提交表单时将表单数据发送到何处?的使用技巧和注意事项,需要的朋友参考一下 使用HTML中的formaction 属性来设置以HTML提交表单时将表单数据发送到的位置。 示例 您可以尝试运行以下代码以实现formaction 属性-