【问题标题】:$.get() and fetch() getting HTML body$.get() 和 fetch() 获取 HTML 正文
【发布时间】:2016-06-24 23:58:24
【问题描述】:

我遇到了一个小问题。将 js 文件从 jQuery 重写为原生 JS,在 jQuery 中我们使用:

$.get(`/page`, function (data) {
        elem.html(data);
}

基本上我们从“/page”获取正文并将其推送到 elem.innerHTML。

但是如何使用 fetch() 而不是 .get() 获取 html 正文?

【问题讨论】:

  • using fetch 的文档可能会有所帮助。
  • 不,我仍然无法获得身体,也许是累了)但是在这种情况下文档没有帮助
  • 你的 jQuery 代码中有反引号而不是引号,也许你在 fetch 上犯了同样的错误。

标签: javascript jquery


【解决方案1】:

这看起来是等价的:

fetch('/page').then(function(response) {
    return response.text();
}).then(function(string) {
    elem.innerHTML = string;
});

fetch() 返回一个解析为 Response 对象的承诺。 Responsetext() 方法返回一个以字符串形式解析为响应正文的承诺。然后将该字符串放入 HTML。

DEMO

【讨论】:

  • 这个我试过了,还是不行,所以我很困惑
  • 我使用的是 jQuery .html() 方法。我已将其更改为纯 JS .innerHTML。我刚刚测试了它,它可以工作。
  • 这行得通! fetch('/page').then(res => { response.text().then(string => { elem.innerHTML = string})});这不是,为什么? fetch('/page').then(res => { return response.text()}).then(string => { elem.innerHTML = string});
  • 都不应该工作,因为您使用res作为参数名称,但在函数体中使用response
  • 当我修复错字时,第二个对我有用:jsfiddle.net/jkhxzdkg/2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 2021-04-04
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多