微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ajax知识点总结


AjaxAsynchronousJavaScriptandXML

功能:允许浏览器与服务器通信而无需刷新当前页面

例如:用户名检验,购物车更新等,能极大提高用户体验度

服务器与客户端的语言传输格式

1HTML:轻松嵌入预订格式

2XML:通用,但沉重

3Json:方便简单,但有一定安全隐患

原生Ajax

原理:通过使用XMLHTTP组件XMLHttpRequest方法,进行异步数据读取。

运行流程:

varrequest=newXMLHttpRequest();

request.open(“method”,“url”);//建立对服务器的调用

request.send();//向服务器发送请求

Request.onreadystatechange=function(){}//追踪改变

request.readystate==4//判断响应是否完成,共四个状态

Request.status==200||Request.status==304//判断响应是否可用

request.responseText//以文本格式返回响应结果

request.responseXML//XML格式返回响应结果

jQuery封装的Ajax方法

1$.load(urlmethod,回调函数).直接载入需要的HTML

Method认为GET方法

可通过url+空格+selector来选择指定处返回。

如:varurl=this.href+h2a”;

2$.get(urlargs,回调函数),$.post(urlargs,回调函数)

主页:

<scripttype="text/javascript"src="jquery-1.7.2.js"></script>

<scripttype="text/javascript">

$(function(){

$(":input[name='username']").change(function(){

varval=$(this).val();

val=$.trim(val);

if(val|=""){

varurl="valiateUserName";

varargs={"userName":val,"time":newDate()};

$.post(url,args,function(data){

$("#message").html(data);

});

}

});

})

</script>

</head>

<body>

<formmethod="post"action="">

UserName:

<br/><inputtype="text"name="username">

<divid="message"></div>

<br/>

<inputtype="submit"value="submit"/>

</form>

</body>

</html>

Servlet的配置和映射

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>

<servlet-name>valiateUserNameServlet</servlet-name>

<servlet-class>valiateUserNameServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>valiateUserNameServlet</servlet-name>

<url-pattern>/valiateUserName</url-pattern>

</servlet-mapping>

</web-app>

继承自HttpServletvaliateUserNameServlet

importjava.io.IOException;

importjava.util.Arrays;

importjava.util.List;

importjavax.servlet.servletexception;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

publicclassvaliateUserNameServletextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsservletexception,IOException{

List<String>userName=Arrays.asList("AA","BBB","CCC");

Stringusername=request.getParameter("userName");

Stringresult=null;

if(userName.contains(username)){

result="<fontcolor='red'>用户名已经被使用</font>";

}else{

result="<fontcolor='red'>用户名可以被使用</font>";

}

//response常用的三个方法

response.setContentType("text/html;charset=UTF-8");

response.setCharacterEncoding("UTF-8");

response.getWriter().print(result);//在浏览器中打印

}

}

注意:1.jQuey中的ajax方法url,必须和WEB.XMLServlet的数据匹配

2.可通过$("#message").html(data);的方式在指定位置显示需要的内容

3.谨记List<String>userName=Arrays.asList("AA","CCC");

4.Listcontains()方法,判断是否包含

-14-10-21-1-25

原文地址:https://www.jb51.cc/ajax/164274.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐