通过ajax和form提交 转向

这次本想尝试用ajax来提交表单来登录,但是遇到了很多问题,下面就是相关的总结。
ajax提交:
第一步:ajax提交给servlet数据,进过相关的处理后
第二步:servlet后可以通过下面的方法返回msg数据给前台
String msg=  "error" ;                          response.getWriter().write(msg);
返回信息!(如果是要转跳进行第三部,否则对返回的信息做相应的处理,如本例子的弹出提示框。)
第三部:通过前台中的js来实现页面跳转(如果是放在web-inf中jsp,jsp要在web.xml中部署后,这样的url才会有效,参考:http://blog.csdn.net/wanghaiping1993/article/details/23510411中关于web-inf中jsp如何访问
window.location.href= "${pageContext.request.contextPath}/main.jsp"  ;

form提交:
第一步:写好form表单后,向servlet提交信息
第二部:通过下面的语句进行重定向来实现页面跳转(这样使用,在web-inf中jsp就不用在web-inf中进行部署了)
request.getRequestDispatcher("/WEB-INF/ jsp/***.jsp").forward(request, response);


登录界面:
<%@   page  language  =  "java"   import =  "java.util.*" pageEncoding =  "utf-8"  %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+ "://"  +request.getServerName()+ ":"  +request.getServerPort()+path+  "/" ;
%>

<!  DOCTYPE   HTML   PUBLIC   "-//W3C//DTD HTML 4.01 Transitional//EN">
<  html >
   <  head >
     < base  href  =  " <%=  basePath %>  "  >
   
     < title  > My JSP 'login.jsp' starting page  </ title  >
   
   <  script   type =  "text/javascript"   src =  "js/jquery-1.8.0.min.js"  ></ script  >
       < script  type  =  "text/javascript" >
     
      function  ajax_submit(){
             var username=document.getElementsByName(  "username"  )[0].value;
        var  password=document.getElementsByName(  "password"  )[0].value;
       /*  //一定要加入jquery.js */
            $.ajax({
                     url:  '${pageContext.request.contextPath }/Userservlet?method=login' ,
                     type:  'post' ,
                     data:  'username='  +username+ '&password='  +password,
                     success:  function  (msg) { 
                         if  ((msg== "error"  )) { 
                            alert(  "用户名或者密码错误!!"  ); 
                        }  else if  ((msg== "success"  ))
                             window.location.href= "${pageContext.request.contextPath}/main.jsp"  ;
                       
                    } 
                });
           }    
            
           
       </  script >

 
   </  head >
 
   <  body >
   <  div   align =  "center"   style  =" margin  auto ;"  >
        <%--  <form action="" method="post">
        --%>
         < table  >
         < tr  >      用户名:  < input   type  =  "text"   name  = "username"  ></  tr > < br  >
         < tr  >  密码: <  input   type  = "password"  name =  "password"   ></  tr > < br  >
         < tr  >       <  input   type =  "submit"   onclick  = "ajax_submit()"  value  = "提交"  ></  tr >
         </ table  >  
            </   div >
  
<%--  </form>
        --%>
   </  body >
</  html >
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
通过ajax提交form表单数据到php可以实现页面无需刷新即可提交数据,并且可以异步处理服务器的响应。 首先,需要在HTML中引入jQuery或其他的ajax库,以方便使用ajax函数。然后,在form表单的提交事件中使用ajax函数来处理提交。 具体实现步骤如下: 1. 编写HTML表单代码,包含需要提交的各种输入字段和一个提交按钮。 2. 使用JavaScript/jQuery监听表单的提交事件: ```javascript $('#form_id').submit(function(event) { event.preventDefault(); // 阻止表单的默认提交动作 // 获取表单数据 var formData = $(this).serialize(); // 发送ajax请求 $.ajax({ url: '处理数据的php文件路径', type: 'POST', data: formData, success: function(response) { // 响应成功时的操作 }, error: function(xhr, status, error) { // 响应失败时的操作 } }); }); ``` 其中,`form_id`是表单的ID,`处理数据的php文件路径`是处理提交数据的服务器端脚本文件路径。 3. 在服务器端的PHP脚本中,使用`$_POST`超全局数组来获取通过ajax提交的表单数据,进行相应的处理,然后返回处理结果给前端。 ```php <?php // 获取表单数据 $data1 = $_POST['input1_name']; $data2 = $_POST['input2_name']; // 进行数据处理或其他操作 //... // 返回处理结果给前端 echo $result; ?> ``` 以上就是通过ajax提交form表单数据到PHP的简单实现过程。通过这种方式,可以实现页面的异步提交,并在不刷新页面的情况下与服务器进行交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Happy编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值