获取 post 响应作为 html 但也有状态
Fetch post response as html but also with status
我有一个 API 的获取调用。我需要 status
和 HTML 响应。
fetch('api/post/email', {
method: 'POST',
body: JSON.stringify(data)
}).then((response) => {
console.log(response.text());
console.log(response.body);
if (response.status == 200) {
console.log(response.status);
} else {
console.log(response.status);
}
});
我从上面得到这个结果:
Promise {<pending>}
ReadableStream {locked: true}
404
最后一个 status
没问题,但是...
使用 fetch 从 API 获取正文或 HTML 结果的最简单方法是什么?
fetch('api/post/email', {
method: 'POST',
body: JSON.stringify(data)
}).then((response) => {
response.text().then(re => {
console.log(re);
});
console.log(response.body);
if (response.status == 200) {
console.log(response.status);
} else {
console.log(response.status);
}
});
Response.text() returns 一个承诺,所以你必须像处理它一样处理它。 (传入回调)之后你可以在回调中记录它。
我能想到的最简单的方法是使用async/await。
注意:response.text()
returns 解析为文本的承诺。
fetch('api/post/email', {
method: 'POST',
body: JSON.stringify(data)
}).then(async (response) => {
const text = await response.text();
if (response.status == 200) {
console.log(response.status);
} else {
console.log(response.status);
}
console.log(text);
});
我有一个 API 的获取调用。我需要 status
和 HTML 响应。
fetch('api/post/email', {
method: 'POST',
body: JSON.stringify(data)
}).then((response) => {
console.log(response.text());
console.log(response.body);
if (response.status == 200) {
console.log(response.status);
} else {
console.log(response.status);
}
});
我从上面得到这个结果:
Promise {<pending>}
ReadableStream {locked: true}
404
最后一个 status
没问题,但是...
使用 fetch 从 API 获取正文或 HTML 结果的最简单方法是什么?
fetch('api/post/email', {
method: 'POST',
body: JSON.stringify(data)
}).then((response) => {
response.text().then(re => {
console.log(re);
});
console.log(response.body);
if (response.status == 200) {
console.log(response.status);
} else {
console.log(response.status);
}
});
Response.text() returns 一个承诺,所以你必须像处理它一样处理它。 (传入回调)之后你可以在回调中记录它。
我能想到的最简单的方法是使用async/await。
注意:response.text()
returns 解析为文本的承诺。
fetch('api/post/email', {
method: 'POST',
body: JSON.stringify(data)
}).then(async (response) => {
const text = await response.text();
if (response.status == 200) {
console.log(response.status);
} else {
console.log(response.status);
}
console.log(text);
});