response.text()不包含我所期望的

时间:2019-04-25 07:45:01

标签: html dom fetch

我有一个模拟文件mockedfile.html,我将其重定向到本地。我的问题是,当我尝试从提取响应中提取HTML时,结果看起来与模拟文件并不完全一样。所以这就是我要做的:

fetch('/some-url.html').then(response => {
  if (response.redirected) { // this will be true locally
    fetch(response.url) // which will then be /mockedfile.html
      .then(res => res && res.text())
      .then(text => text) // expect this text to be the same as the content inside mockedfile.html, but this is just partly the same
  } else {
    response && response.text().then(text => text);
  }
}
})

我想念什么?有没有更合适的方法来解决这个问题?

3 个答案:

答案 0 :(得分:0)

fetch(url).then(result => result.text()).then(yourText => ...);

答案 1 :(得分:0)

要获取取值之外的值,您需要第一个.then()返回值。

多余的.then()是不必要的,因为它只会创建一个解析为相同值的新承诺。

fetch('/some-url.html')
  .then(response => {
    if (response.redirected) {
      return fetch(response.url)
        .then(res => res.text());
    }
    return response.text();
  })
  .then(console.log)
  .catch(console.error)

答案 2 :(得分:0)

您必须添加以关闭在 then(

Password = "";