AJAX学习

AJAX

AJAX = 异步 javaScript和XML

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新

AJAX实例
<html>
<head>
<!--实现脚本的代码 -->
<script type="text/javascript">
function loadXMLDoc()
{
    document.write("Hello World!")
}
</script>
</head>
<body>
<div id="myDiv"><h3>Let AJAX change this text</h3></div>
<!--定义一个按钮,按钮的点击事件是调用loadXMLDoc(),这个方法在head里面的使用javrscrip实现-->
<botton type="button" onclick="loadXMLDoc()">Change Content</botton>
</body>
</html>
AJAX - 创建 XMLHttpRequest 对象

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

  • 创建XMLHttpRequest对象
variable = new XMLHttpRequest();
AJAX - 向服务器发送请求

如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法

语法:

xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();

方法说明:

async True or False?:
  1. async=ture:
  • 在等待服务器响应时执行其他脚本
  • 当响应就绪后对响应进行处理
  1. async=false:
  • JavaScript 会等到服务器响应就绪才继续执行。
  • 如果服务器繁忙或缓慢,应用程序会挂起或停止。
AJAX - 服务器响应

如需获得来自服务器的响应,使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

  • responseText 获得字符串形式的响应数据
  • responseXML 获得 XML 形式的响应数据。
onreadystatechange 事件

readyState 属性存有 XMLHttpRequest 的状态信息,每当 readyState 改变时,就会触发 onreadystatechange 事件

Ajax实例

以下实例在W3School html编辑器中执行:

  • GET请求:

<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
<!--创建XMLHttpRequest对象-->
xmlhttp=new XMLHttpRequest(); 
<!--当readyState状态为4(请求完成),并且状态码saatus为200时,获取字符串类型的响应数据
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
<!--调用XMLHttpRequest 对象的 open() 和 send() 方法向服务端发送请求,方法为GET,异步为ture>
xmlhttp.open("GET","/ajax/demo_get.asp",true);
xmlhttp.send();
}
</script>
</head>
<body>

<h2>AJAX</h2>
<!--按钮点击事件调用函数-->
<button type="button" onclick="loadXMLDoc()">请求数据</button>
<div id="myDiv"></div>

</body>
</html>
  • POST请求

<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
<!--创建XMLHttpRequest对象-->
xmlhttp=new XMLHttpRequest();
<!--调用XMLHttpRequest 对象的 open() 和 send() 方法向服务端发送请求,方法为POST,异步为ture>
xmlhttp.open("POST","/ajax/demo_post.asp",true);
xmlhttp.send();
<!--当readyState状态为4(请求完成),并且状态码saatus为200时,获取字符串类型的想要数据
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
}
</script>
</head>
<body>

<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">请求数据</button>
<div id="myDiv"></div>
 
</body>
</html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值