Ajax分析

[TOC]

Ajax数据爬取

Ajax介绍

Ajax,全称为Asynchronous JavaScript and XML,即异步的JavaScript和XML。它不是一门编程语言,而是利用JavaScript在保证页面不被刷新、页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。

XMLHttpRequest对象

XMLHttpRequest对象是 AJAX 的基础,用于在后台与服务器交换数据,可以在不重新加载整个网页的情况下,对网页的某部分进行更新.

1.创建XMLHttpRequest对象:

```
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();// 创建 XMLHttpRequest 对象的语法
}else{
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");// IE5 和 IE6使用 ActiveX 对象
 }
```

2.发送请求:

  • 使用 XMLHttpRequest 对象的 open() 和 send() 方法将请求发送到服务器

  • open(method,url,async):规定请求的类型、URL 以及是否异步处理请求。

    • method:请求的类型;GET 或 POST
    • url:文件在服务器上的位置
    • async:true(异步)或 false(同步),ajax必须为true
  • send(string):将请求发送到服务器。

    • string:仅用于 POST 请求

3.响应:

  • XMLHttpRequest 对象的 responseText(获得字符串形式的响应数据)或 responseXML(获得 XML 形式的响应数据)属性获得来自服务器的响应

4.onreadystatechange 事件:

  • 当请求被发送到服务器时,每当 readyState 改变时,就会触发 onreadystatechange 事件

  • 解析函数:当使用 async=true 时,当响应处于 onreadystatechange 事件中的就绪状态时(readyState 等于 4 且状态为 200 )执行的函数:

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
      document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
      }
      }
    xmlhttp.open("GET","test1.txt",true);
    xmlhttp.send();
  • onreadystatechange:存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。

  • readyState:存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

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

    • 200: “OK”
    • 404: 未找到页面

Ajax分析方法

Ajax有其特殊的请求类型,它叫作xhr

Request Headers中有一个信息为X-Requested-With:XMLHttpRequest,这就标记了此请求是Ajax请求

Ajax一般为json格式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WY_记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值