关于jquery:如何使用带有提交按钮的ajax将数据发送到servlet

How to send data to servlet using ajax with a submit button

本问题已经有最佳答案,请猛点这里访问。

我是servlet的新手,我想使用ajax和jquery获取servlet中的数据。它执行但我没有在servlet中获取数据
单击提交按钮时,唯一的错误部分是执行ajax
我的索引页面是

1
 I am new with servlet, I want to get the data in the servlet using ajax and jquery. it execute but i did not get data in servlet

单击提交按钮时,唯一的错误部分是执行ajax
我的索引页面是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
    <head>
        First jQuery Example
        <script type="text/javascript"
            src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
       
    </head>
    <body>
       
            <form id="myform">
                [cc]
                    Name:
                    <input type="text" name='name' id='name' />
                    Email:
                    <input type='text' name='email' id='email' />
                    Address:
                    <input type='text' name='address' id='address'>
                        <input type='submit' value='submit' id='mysubmit'>


1)导入最新的jquery文件
2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(".your form class").on('submit',(function(e){
        e.preventDefault();
        $.ajax({
            url:"Servlet Path",
            type:"POST",
            data:  new FormData(this),
            contentType: false,
            cache: false,
            processData:false,
            success: function(data){
                alert(data);
            },
            error: function(){
                alert("error");
            }          
        })
    }));</script/>


您不需要ajax将数据发送到您的servlet。 您需要在web.xml中定义到servlet的路由,并提及表单的提交操作。 例如,

1
2
3
4
5
6
7
8
9
 <servlet>
        <servlet-name>HelloForm</servlet-name>
        <servlet-class>HelloForm</servlet-class>
 </servlet>

 <servlet-mapping>
        <servlet-name>HelloForm</servlet-name>
        <url-pattern>/HelloForm</url-pattern>
 </servlet-mapping>

这是应用程序的web.xml文件的条目

1
<form action="HelloForm" method="GET">

这需要是类名为"HelloForm"的示例servlet的表单标记。 单击此表单的提交按钮会将表单字段数据发送到您的servlet。 注意表单字段的"名称"。 要访问名为"field 1"的字段(示例Ninput name ="field1">),servlet中的代码必须是request.getParameter("field1")。

希望这能澄清你的疑虑。