AJax技术

Ajax技术原理,自己写一个Ajax

字号+ 作者:H5之家 来源:H5之家 2017-07-22 15:00 我要评论( )

Ajax技术---Ajax技术原理,自己写一个Ajax,本篇博客知识点—演示写一个类似Ajax技术功能的模块。 通过自己写一个简单的类似Ajax技术功能模块,来帮忙理解Ajax底

本篇博客知识点—演示写一个类似Ajax技术功能的模块。

通过自己写一个简单的类似Ajax技术功能模块,来帮忙理解Ajax底层思想,以便后面更好的学习Ajax

需求:在填写表单的时候,填完失去焦点时,提示用户刚刚输入的姓名是否合法。如图~(图片显示不了是什么鬼???)

这里写图片描述


思路:姓名 标签内有个函数—当失去焦点时候触发,作用就是想办法把刚刚填了的姓名提交给后台判断是否非法。同时反馈结果。

Name:<input type="text" name="name" onblur="val(this)">

函数代码:利用一个隐藏的表单提交

{ var nm = obj.value; if(nm!=null){ document.getElementById("forname").value = nm; document.forms[1].submit(); } }

后台处理完成后直接转发到一个JSP页面

String name = request.getParameter("ForName"); if(name!=null&&!name.trim().equals("")&&name.startsWith("hncu")){ request.setAttribute("error", 1); }else{ request.setAttribute("error", 0); } request.getRequestDispatcher("/reg/reg.jsp").forward(request, response);

这个页面不是普通的页面,而是刚刚那个页面的 画中画

==> =>

这个JSP页面有两种技术来完成 信息提示用户

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!-- <p>这是ajax返回结果页面</p> --> <script type="text/javascript"> res ='<%=request.getAttribute("error")%>'; //另一个技术: 在子页(显示在iframe中的页面)中访问父页(外面大窗口中的页面) ,通过在原来访问页面元素的方式前面加"parent." /*访问父页,法1: 直接在子页中操纵父页中的元素 if(res==1){ parent.document.getElementById("msg").innerHTML="用户名已存在,请换一个!"; }else{ parent.document.getElementById("msg").innerHTML="用户名可用,可以注册!"; } */ //访问父页,法2: 在子页中调用父页中的一个函数,然后在该函数中操纵父页中的元素 parent.back(res); </script>

这样就完成啦。 由于贴不了图我把所有代码贴上去把

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"http://www.echojb.com/"; %> > >Ajax底层技术学习> <script type="text/javascript"> { var nm = obj.value; if(nm!=null){ document.getElementById("forname").value = nm; document.forms[1].submit(); } } { if(res!=null){ if(res==0){ label.style.color = "red"; label.innerHTML="用户名字存在,请换一个"; }else{ label.style.color = "green"; label.innerHTML="恭喜你!该用户名可以使用!"; } } } ="RegServlet"method="post"> Name:==/> pwd:==> ==> => </body> </html>

web.xml

=="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee "> > >RegServlet> >This is the display name of my J2EE component>cn.hncu.servlets.FornameServlet> > >/FornameServlet> >

RegServlet

package cnimport javaimport javaimport javaximport javaximport javaximport javaxpublic class RegServlet 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 { response.setContentType("text/html;charset=utf-8"); PrintWriter ((((" <BODY>"); String name = request.getParameter("name"); String pwd = request.getParameter("pwd"); boolean boo = false; if(name!=null && !name.trim().equals("")){ if(pwd!=null && !pwd.trim().equals("")){ if(name.startsWith("hncu") && pwd.length()>5){ boo = true; } } } if(boo){ out.println("欢迎你,"+name); }else{ request.getRequestDispatcher("/index.jsp").forward(request, response); } (()(); } }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ajax入门经典下载(Ajax入门学习书籍电子版) 中文官方版

    ajax入门经典下载(Ajax入门学习书籍电子版) 中文官方版

    2017-07-22 14:01

  • vue.js 学习三(Ajax数据交互)isomorphic

    vue.js 学习三(Ajax数据交互)isomorphic

    2017-07-21 18:00

  • Ajax异步请求技术讲解

    Ajax异步请求技术讲解

    2017-07-20 16:06

  • Javascript异步表单提交,图片上传,兼容异步模拟ajax技术

    Javascript异步表单提交,图片上传,兼容异步模拟ajax技术

    2017-07-20 16:05

网友点评
b