需要从 axios 请求中检索 html
Need to retrieve html from axios request
我正在使用 axios 向在后端公开 html 的资源发送请求。当我发送 GET 请求时,我收到一个对象作为响应。当我使用 console.log() 打印响应时,由于响应是一个对象而不是我期望的 html,它会破坏 React 应用程序。
目前我正在尝试在配置中指定 responseType: 'document'。但这似乎不起作用。我仍然得到一个对象,错误是:
"Error: Objects are not valid as a React child (found: [object
Promise]). If you meant to render a collection of children, use an
array instead."
最终我需要得到一个可以嵌入我的 React 页面的 <div></div>
。
import axios from 'axios';
const examplePage = "example.com/example"
export const requestExamplePage = async () => {
const {data} = await axios.get(examplePage, {responseType: 'document})
return data
}
错误:
"Error: Objects are not valid as a React child (found: [object Promise]). If you meant to render a collection of children, use an array instead."
实际上意味着您正在尝试做出承诺。您确定那是解构请求的正确方法吗? data
必须是用双引号(字符串)包裹的 html 并且您还需要 dangerouslySetInnerHtml
将其注入 div.
试试这个:
export const requestExamplePage = async () => {
const {data} = await axios.get(examplePage, {responseType: 'document'})
return (
<div dangerouslySetInnerHTML={{ __html: data }} />
)
}
确保数据是一个实际的 html 字符串。
我正在使用 axios 向在后端公开 html 的资源发送请求。当我发送 GET 请求时,我收到一个对象作为响应。当我使用 console.log() 打印响应时,由于响应是一个对象而不是我期望的 html,它会破坏 React 应用程序。
目前我正在尝试在配置中指定 responseType: 'document'。但这似乎不起作用。我仍然得到一个对象,错误是:
"Error: Objects are not valid as a React child (found: [object Promise]). If you meant to render a collection of children, use an array instead."
最终我需要得到一个可以嵌入我的 React 页面的 <div></div>
。
import axios from 'axios';
const examplePage = "example.com/example"
export const requestExamplePage = async () => {
const {data} = await axios.get(examplePage, {responseType: 'document})
return data
}
错误:
"Error: Objects are not valid as a React child (found: [object Promise]). If you meant to render a collection of children, use an array instead."
实际上意味着您正在尝试做出承诺。您确定那是解构请求的正确方法吗? data
必须是用双引号(字符串)包裹的 html 并且您还需要 dangerouslySetInnerHtml
将其注入 div.
试试这个:
export const requestExamplePage = async () => {
const {data} = await axios.get(examplePage, {responseType: 'document'})
return (
<div dangerouslySetInnerHTML={{ __html: data }} />
)
}
确保数据是一个实际的 html 字符串。