Javascript 我可以用等效的fetch()调用替换jQuery.load()一行程序吗?
我有一个使用jQuery一行程序的页面Javascript 我可以用等效的fetch()调用替换jQuery.load()一行程序吗?,javascript,jquery,ajax,fetch,one-liner,Javascript,Jquery,Ajax,Fetch,One Liner,我有一个使用jQuery一行程序的页面 $('#id').load('/url'); 在特定位置将片段加载到DOM中 如果我想删除对jQuery的依赖,是否有一种简单的替代方法可以做到这一点-可能是使用相对较新的fetch()API?您可以这样做: fetch('/method') .then(response=> response.text()) .then(res => { document.getElementById('id').innerHTML = res; });
$('#id').load('/url');
在特定位置将片段加载到DOM中
如果我想删除对jQuery的依赖,是否有一种简单的替代方法可以做到这一点-可能是使用相对较新的fetch()API?您可以这样做:
fetch('/method')
.then(response=> response.text())
.then(res => { document.getElementById('id').innerHTML = res; });
这样做:
fetch('/url')
.then(response => response.text())
.then(value => {
document.getElementById('id').innerHTML = value
});
几乎是一行:)
;(异步()=>{
document.getElementById('id').innerHTML=await(await fetch('/url')).text();
})();
要将其用于实际应用,您至少需要检查响应代码,因此我首先像这样重构它
;(async () => {
let res = await fetch('/url');
if(res.ok){
document.getElementById('id').innerHTML = await res.text();
}
else { ... }
})();
仍然缺少错误处理,但我相信您已了解情况:)这不起作用。我在页面中看到的是
[对象响应]
,而不是HTML代码段。实际上它正在工作,我忘记了转换响应。现在您的答案与@Magiczne的答案没有什么不同。这是否回答了您的问题?这回答了你的问题吗?这回答了你的问题吗?这回答了你的问题吗?注意:如果您的响应中有任何内容,它将不会与$.load相反运行