Ajax入门(二)

时间:2023-03-09 08:10:04
Ajax入门(二)

接收服务器返回的消息

1,定义触发Ajax的js效果

Ajax入门(二)

2,创建Ajax方法

Ajax入门(二)

如果返回的数据是XML,则需使用aj.responseXML

3,接收服务器返回的消息,并显示在网页上

Ajax入门(二)

Ajax入门(二)

 错误案例:直接接收服务器返回的消息,是接收不到的.

 Ajax入门(二)

 因为有可能客户端还在发送请求,而另一段代码已经执行接收消息.当然,接收的消息就为空.

 所以我们应该有一个判别机制,判断XMLHttpRequest 的状态

  aj.onreadystatechange = function(){
    if(aj.readyState == 4){
    document.getElementById("dl1").innerHTML = aj.responseText;
    }
  }

 其中onreadystatechange存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。

 readyState存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。(一般只能接收到从1到4的信息)

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪

代码部分:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>接收服务器信息</title>
</head>
<body>
<h2>这是返回的请求</h2>
<input type="button" value="触发" onclick="f1()">
<div id="dl1"></div>
</body> <script type="text/javascript"> function f1(){
//创建ajax对象
var aj = new XMLHttpRequest(); //创建新的http请求
aj.open('get','./03.php') //发送请求
aj.send(null); aj.onreadystatechange = function(){
if(aj.readyState == 4){
document.getElementById("dl1").innerHTML = aj.responseText;
}
} } </script>
</html>
 <?php 

   echo "<div style='color:green'>Today is monday</div>";

  ?>