AJAX 是异步的 JavaScript 和 XML(Asynchronous JavaScript And XML)。简单点说,就是使用 XMLHttpRequest 对象与服务器通信。 它可以使用 JSON,XML,HTML 和 text 文本等格式发送和接收数据。AJAX 最吸引人的就是它的“异步”特性,也就是说他可以在不重新刷新页面的情况下与服务器通信,交换数据,或更新页面。
- 创建 XMLHttpRequest 对象
if (window.XMLHttpRequest) { // Mozilla, Safari, IE7+ ... httpRequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE 6 and older httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
- 绑定 onreadystatechange 事件
httpRequest.onreadystatechange = function () { // Process the server response here. };
- 向服务器发送请求
httpRequest.open("GET", "http://www.example.org/some.file", true); httpRequest.send();
完整的例子
function ajax(url, cb) { let xhr; if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { xhr = ActiveXObject("Microsoft.XMLHTTP"); } xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { cb(xhr.responseText); } }; xhr.open("GET", url, true); xhr.send(); }