Python之路(二十五):Ajax

Posted __Miracle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之路(二十五):Ajax相关的知识,希望对你有一定的参考价值。

Ajax

 

简介

  AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
  AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。
  AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

             

原生Ajax

XMLHttpRequest 是 AJAX 的基础。

A、XMLHttpRequest 对象

所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

XMLHttpRequest 用于在后台与服务器交换数据。

1、创建XMLHttpRequest对象

    var xmlhttp;
    // Ajax的实现基本都基于XMLHttpRequest对象
    xmlhttp = new XMLHttpRequest()

2、设置回调函数

当请求被发送到服务器时,执行一些基于响应的任务。

readyState 属性存有 XMLHttpRequest 的状态信息。

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

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

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

 每当 readyState 改变时,就会触发 onreadystatechange 事件。

    // 响应处于 onreadystatechange 事件中的就绪状态时执行的函数
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState==4 && xmlhttp.status==200){
            document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
    };

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

复制代码
    // GET请求 一些数据可封装在URL上面
    xmlhttp.open(\'GET\', \'/index?p=123\');
    xmlhttp.send();

    // POST请求 发送的数据由send发送
    xmlhttp.open(\'POST\', \'/index/\');
    // 如需要像 HTML 表单那样 POST 数据,使用 setRequestHeader() 来添加 HTTP 请求头。
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send(\'p=321\');
复制代码
方法描述
open(method,url,async)

规定请求的类型、URL 以及是否异步处理请求。

  • method:请求的类型;GET 或 POST
  • url:文件在服务器上的位置
  • async:true(异步)或 false(同步)
send(string)

将请求发送到服务器。

  • string:仅用于 POST 请求

4、服务器响应

如需获得来自服务器的响应,XMLHttpRequest 对象的 responseText 或 responseXML

在onreadystatechange执行服务器响应信息

属性描述
responseText 获得字符串形式的响应数据。
responseXML 获得 XML 形式的响应数据。

B、XMLHttpRequest 详细及DEMO

XmlHttpRequest对象的主要方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
a. void open(String method,String url,Boolen async)
   用于创建请求
     
   参数:
       method: 请求方式(字符串类型),如:POST、GET、DELETE...
       url:    要请求的地址(字符串类型)
       async:  是否异步(布尔类型)
  

(c)2006-2024 SYSTEM All Rights Reserved IT常识