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

时间:2016-02-01 09:35:32

标签: jquery ajax servlets

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

 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 我的索引页面是

<html>
    <head>
        <title>First jQuery Example</title>
        <script type="text/javascript"
            src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
        </script>
    </head>
    <body>
        <div align=center>
            <form id="myform">
                <pre>
                    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'>
                </pre>
            </form>
        </div>
        <script type="text/javascript">
            $(document).ready(function() {
                alert("Onready the page");
                $("#myform").on('submit',(function(e){
                    alert("button clicked");
                    e.preventDefault();
                    var name=$("#name").val();
                    var address=$("#address").val();
                    var email=$("#email").val();
                    $.ajax({
                        url: "reg",
                        type: "GET",
                        data:{name:name,email:email,address:address},
                        contentType: false,
                        cache: false,
                        processData:false,
                        success: function(data){
                            alert(data);
                        },
                        error: function(){
                            alert("error");
                        }
                    });
                }));
            });
        </script>
    </body>
</html>

2 个答案:

答案 0 :(得分:3)

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

<script>$(".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/>

答案 1 :(得分:0)

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

 <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文件和

的条目
<form action="HelloForm" method="GET">

这需要是具有类名&#39; HelloForm&#39;的示例servlet的表单标记。单击此表单的提交按钮会将表单字段数据发送到您的servlet。照顾好的名字&#39;表单字段。要访问名为&#39;字段1&#39;的字段(示例Ninput name =&#34; field1&#34;&gt;),servlet中的代码需要是request.getParameter(&#34; field1&#34;)。

希望这能澄清你的疑虑。