Web前端之路程序员

AJAX从入门到放弃

2017-11-16  本文已影响123人  许渺

AJAX简单介绍

AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术;AJAX = 异步 Javascript和XML;通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页某部分进行刷新;传统网页(不使用AJAX)如果需要更新内容,必须重新加载整个网页。

AJAX的使用

  1. 创建对象

XMLHttpRequest 对象是 AJAX 的基础;所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

为了兼容各个浏览器,我们应该先检查是否支持XMLHttpRequest,如果支持则创建;否则则创建ActiveXObject

//创建核心对象
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//设置回调函数
xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        alert(xmlhttp.responseText);
    }
}

XMLHttpRequest 常用属性方法

属性

readyState 描述
0 对象已建立,但是尚未初始化(未调用open方法);
1 对象已建立,尚未调用send方法
2 send方法已调用,等待响应
3 已接收部分数据,因为响应头不全,这是通过responseBody和responseText获取数据可能会出现错误
4 数据接收完毕

方法


发送GET请求

 //open 设置请求方式和路径
xmlhttp.open("get", "/helloAjax?value=123456")

xmlhttp.send();

发送POST请求

这里需要注意的是 POST发送表单数据,需要指定请求头。

application/x-www-form-urlencoded

xmlhttp.open("post", "/helloAjax");
        //设置请求头
xmlhttp.setRequestHeader("content-type","application/x-www-form-urlencoded")
xmlhttp.send("name=" + name);

最后

由于原生AJAX存在很多浏览器兼容性问题,就从上面创建XMLHttpRequest对象来说就比较麻烦,不过我们选择一些库来代替他(封装的比较好,不用我们考虑兼容性问题了);例如JQuery的AJAX。

上一篇下一篇

猜你喜欢

热点阅读