概述
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和
XML)。
AJAX
最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
AJAX 不需要任何浏览器插件,但需要用户允许 JavaScript
在浏览器上执行。
XMLHttpRequest 只是实现 Ajax 的一种方式。
实例
get请求
1 2 3 4 5 6 7 8 9 10 11 12
| var xhr = new XMLHttpRequest(); xhr.open('GET', 'https://example.com/api/data', true);
xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var response = xhr.responseText; console.log(response); } };
xhr.send();
|
post请求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| var xhr = new XMLHttpRequest(); xhr.open('POST', url, true); xhr.responseType = 'text'; xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onload = function () { if (xhr.status === 200) { var res = xhr.response; console.log(res) } };
var requestData = { sort: "asc", }; xhr.send(JSON.stringify(requestData));
|
jQuery版本
$.get()
1 2 3
| $.get("/try/ajax/demo_test.php",{ name:"Donald", town:"Ducktown" },function(data,status){ alert("数据: " + data + "\n状态: " + status); });
|
$.post()
1 2 3
| $.post("demo_test.html",function(data,status){ alert("Data: " + data + "nStatus: " + status); });
|
1 2 3 4 5 6 7 8 9 10 11
| var requestData = { };
$.post('your-api-url', requestData) .done(function(response) { }) .fail(function(error) { });
|
$.ajax()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| var data = { };
$.ajax({ url: 'your-api-url', method: 'POST', contentType: 'application/json', data: JSON.stringify(data), success: function(response) { }, error: function(error) { } });
|
更多详情 查看