Ajax
通常指JQuery Ajax,是对原生XMLHttpRequest(XHR)的封装,同时还增加JSONP的支持。
1 2 3 4 5 6 7 8 9
| var xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { console.log(xhr.responseText) } }; xhr.send();
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| 基于jquery $.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function(data) { console.log('从服务器成功获取数据:', data); }, error: function(err) { console.log('从服务器获取数据异常:', err); } });
|
fetch
fetch号称是ajax的替代品,它的API是基于Promise设计的。
1 2 3 4 5 6 7 8
| fetch(url) .then(response => { if (response.ok) { response.json() } }) .then(data => console.log(data)) .catch(err => console.log(err))
|
Axios
Axios本质上也是对原生XHR的封装,只不过它是Promise的实现版本,符合最新的ES规范,同时支持浏览器和 nodejs。
1 2 3 4 5 6
| axios({ method: 'GET', url: url, }) .then(res => {console.log(res)}) .catch(err => {console.log(err)})
|