AJAX基础
AJAX美曰其名就是从某个endpoint倒腾数据回来。
其一:fetch
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
简单用法
fetch('https://www.myjsonurl.com')
.then(function(response) {
return response.json();
}).then(function(blob) {
// do stuff with the json
console.log(json);
});
注意事项:
-
fetch
本身的return value是一个Promise<Response>
。大多数情况我们要用里面的json
,要先叫response.json
之后才能用。 - 这个函数是异步的,所以
console.log
或者任何一个需要用到response
的代码必须放在then
block里面。 - 目前只有Chrome和Firefox会可靠的支持
fetch
,如果要在别的浏览器里面用,需要一个polyfill。一般大家管用whatwg-fetch
。 - 标准的
fetch
不会收发cookies也没有身份验证。如果需要身份验证,需要提供init
变量。
提供cookies:
fetch('https://example.com', {
credentials: 'include'
})
不提供cookies:
fetch('https://example.com', {
credentials: 'omit'
})
其二:Vanilla AJAX
http://api.jquery.com/jquery.ajax/
基本用法:
$.ajax({
url: "www.example.com",
cache: false,
success: function(response){
console.log(response);
}
});
其三:最早的Vanilla JS XHR
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
感觉现在已经没人用了,所以大概不用过了。