Ajax

作用:实现在不刷新整个页面的情况下,对部分数据更新(异步刷新)

1.使用XMLHttpRequest对象

1.1初始化

if(window.XMLHttpRequest){//非IE浏览器
    http_request=new XMLHttpRequest();
}else if(window.ActiveObject){//IE浏览器
    try{
        http_request=new ActiveObject("Msxml2.XMLHTTP");
    }catch(e){
        try{
            http_request=new ActiveObject("Microsoft.XMLHTTP");
        }catch(e){}
    }
}

1.2常用方法

- open()
//asyncFlag:指定请求方式,默认true为异步,false为同步,
open("GET|POST","url",[asyncFlag],[username],[password])
- send():向服务器发送请求
send(content)
- abort():停止或放弃当前异步请求
- setRequestHeader():为请求的http头设置值
setRequestHeader("header","value")
- getResponseHeader():以字符串形式返回指定的http头信息
getResponseHeader("Content-type")

1.3常用属性

- onreadystatechange:指定状态改变是触发的事件处理器
htt_request.onreadystatechange=getResutl;
-readyState:获取请求的状态,
0:初始化
1:正在加载
2:已加载
3:交互中
4:完成
- responseTest || responseXML|:获取服务器的响应
- status:返回服务器的http状态码
200:表示成功
404:文件未找到
400:错误的请求
500:服务器错误

2.Ajax使用思路:

1、创建XMLHttpRequest对象 

2、open(“method”,”URL”,asyncFlag)方法创建新的请求。 

3、send(content)方法发送请求数据(get方法不需要指定content参数,post方法需要指定参数)

4、onreadystatechange属性设置状态改变时的处理函数(请求成功,返回成功等) 

5、处理函数中指定返回成功或返回的处理函数

6、responseXML或resopnseText属性获取服务器返回的参数。

2.1创建 checkName.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
 
<%
    String name = request.getParameter("name");
     
    if("abc".equals(name))
        out.print("<font color='red'>已经存在</font>");
    else
        out.print("<font color='green'>可以使用</font>");
     
%>

2.2 login.html

<span>输入账号 :</span>
<input id="name" name="name" onkeyup="check()" type="text"> 
<span id="checkResult"></span>
 
<script>
var xmlhttp;
function check(){
  var name = document.getElementById("name").value;
  var url = "http://how2j.cn/study/checkName.jsp?name="+name;
 
  xmlhttp =new XMLHttpRequest();
  xmlhttp.open("GET",url,true);   //设置访问的页面
  xmlhttp.send(null);  //执行访问
  xmlhttp.onreadystatechange=checkResult; //响应函数
}
 
function checkResult(){
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    document.getElementById('checkResult').innerHTML=xmlhttp.responseText;
  
}
 
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值