Isf*_*aaq 5 javascript json fetch
我最近一直在使用fetch API和Promises,我遇到了.json().通常.json()返回与JSON.parse相同的输出.我用Google搜索了问题,结果指向了其他方向.
XHR和JSON.parse示例:
$('#xhr').click(function(){
var XHR = new XMLHttpRequest();
XHR.onreadystatechange = function(){
if (XHR.status == 200 && XHR.readyState == 4) {
$('#quote').text(JSON.parse(XHR.responseText)[0]);
}
};
XHR.open("GET", url);
XHR.send();
});
Run Code Online (Sandbox Code Playgroud)
使用Fetch API的示例:
$('#fetch').click(function(){
fetch(url)
.then(function(res){
return res.json();
})
.then(function(quote){
$('#quote').text(quote);
})
.catch(function(err){
handleError(err);
});
});
Run Code Online (Sandbox Code Playgroud)
有人可以解释这些看似相似的概念之间的区别吗?谢谢
Body.json()是异步的,并返回一个Promise解析为JavaScript对象的对象.JSON.parse()is synchronous可以解析字符串并更改生成的返回JavaScript对象.
“AJAX”与“回调”配合使用;'fetch' 与 'promises' 一起使用。
使用 JSON.parse() 解析 AJAX 的响应。使用 json() 解析 fetch 的响应。
| 归档时间: |
|
| 查看次数: |
3691 次 |
| 最近记录: |