原生Ajax

原生Ajax

<span>输入账号 :</span>
<input id="name" name="name" onkeyup="check()" type="text"> 
<span id="checkResult"></span>
  
<script>

第一步:jsp中设置全局变量
var xmlhttp;
function check(){
  var name = document.getElementById("name").value;
  var url = "http://how2j.cn/study/checkName.jsp?name="+name;

  第二步:实例化XMLHttpRequest
  xmlhttp =new XMLHttpRequest();

  第三步:设置响应函数checkResult,注意checkResult()错误!:后面不能加括号,加括号表示函数的结果
  xmlhttp.onreadystatechange=checkResult; 

  第四部:设置访问的页面
  xmlhttp.open("GET",url,true);   //设置访问的页面

  第五部:执行访问
  xmlhttp.send(null);  //执行访问
}
  
function checkResult(){
  第六部:编写响应函数
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    document.getElementById('checkResult').innerHTML=xmlhttp.responseText;
   
}
</script>

xmlhttp.send(null)
null表示没有参数,因为参数已经通过“GET" 方式,放在url里了。
只有在用"POST",并且需要发送参数的时候,才会使用到send。
类似这样:
    在提交之前需要设置请求头
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send("user="+username+"&password="+password)

xmlhttp.readyState 4 表示请求已完成
xmlhttp.status 200 表示响应成功
xmlhttp.responseText; 用于获取服务端传回来的文本
服务端传文本不要使用println(),可以使用print();

创建ajax对象有时候需要判定:
var xmlHttp;
if(window.ActiveXObject){
    xmlHttp = 
}else if(window.XMLHttpRequest){
    xmlhttp =new XMLHttpRequest();
}

posted @ 2018-12-10 20:43  别念茶茶  阅读(119)  评论(0编辑  收藏  举报