在 componentDidMount() 的 react api 请求中设置 header
set header in react api request in componentDidMount()
您好,我遇到的问题是我有一个带有访问键的 api,但我不知道如何使用 [=15= 设置组件内部的 header ] 访问密钥,我在下面的示例中使用默认获取随机用户 api,但我想知道我应该如何以及在何处添加带有访问密钥的 header,在此先感谢。
import React from 'react';
export default class FetchRandomUser extends React.Component {
async componentDidMount() {
const url = "https://api.randomuser.me/"
const response = await fetch(url)
const data = await response.json();
this.setState({ person: data.results[0], loading: false })
}
render() {
return <div>
{this.state.loading || !this.state.person ? (<div>Loading...</div>) : (<div>{this.state.person.name.first}</div>)}
</div>
}
}
fetch(url, {
method: 'GET',
headers: {
authorization: youKEY,
Accept: 'application/json',
},
});
这就是您在 url https://randomapi.com/api/qcol88t8?key=TCGJ-8B0M-33L6-UX5Q
;`
中传递 api 键的方法
代码
export default class FetchRandomUser extends React.Component {
state = {
loading: true,
person: {}
};
async componentDidMount() {
const url = `https://randomapi.com/api/qcol88t8?key=TCGJ-8B0M-33L6-UX5Q`;
const response = await fetch(url);
const data = await response.json();
this.setState({ person: data.info, loading: false });
}
render() {
return (
<div>
{this.state.loading || !this.state.person ? (
<div>Loading...</div>
) : (
<h2>{this.state.person.user.username}</h2>
)}
</div>
);
}
}
0
fetch(your_url,a_json_object) 在这里,json_object 有一个元素叫做 headers,只需在其中使用您自定义的 header。但是大多数菜鸟忘记在 backend.I 中添加 header 我展示了一个正确的例子:
前端:
fetch('fdf.api/getid',{
method:'post',
headers:{"a_custom_header":"custom_value"}
})
后端:
const express = require('express')
const app = express()
app.use(function(req,res,next){
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS,
PUT,PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type,a_custom_header'); //notice here carefully
res.setHeader('Access-Control-Allow-Credentials', true);
next();
})
您好,我遇到的问题是我有一个带有访问键的 api,但我不知道如何使用 [=15= 设置组件内部的 header ] 访问密钥,我在下面的示例中使用默认获取随机用户 api,但我想知道我应该如何以及在何处添加带有访问密钥的 header,在此先感谢。
import React from 'react';
export default class FetchRandomUser extends React.Component {
async componentDidMount() {
const url = "https://api.randomuser.me/"
const response = await fetch(url)
const data = await response.json();
this.setState({ person: data.results[0], loading: false })
}
render() {
return <div>
{this.state.loading || !this.state.person ? (<div>Loading...</div>) : (<div>{this.state.person.name.first}</div>)}
</div>
}
}
fetch(url, {
method: 'GET',
headers: {
authorization: youKEY,
Accept: 'application/json',
},
});
这就是您在 url https://randomapi.com/api/qcol88t8?key=TCGJ-8B0M-33L6-UX5Q
;`
代码
export default class FetchRandomUser extends React.Component {
state = {
loading: true,
person: {}
};
async componentDidMount() {
const url = `https://randomapi.com/api/qcol88t8?key=TCGJ-8B0M-33L6-UX5Q`;
const response = await fetch(url);
const data = await response.json();
this.setState({ person: data.info, loading: false });
}
render() {
return (
<div>
{this.state.loading || !this.state.person ? (
<div>Loading...</div>
) : (
<h2>{this.state.person.user.username}</h2>
)}
</div>
);
}
}
0
fetch(your_url,a_json_object) 在这里,json_object 有一个元素叫做 headers,只需在其中使用您自定义的 header。但是大多数菜鸟忘记在 backend.I 中添加 header 我展示了一个正确的例子:
前端:
fetch('fdf.api/getid',{
method:'post',
headers:{"a_custom_header":"custom_value"}
})
后端:
const express = require('express')
const app = express()
app.use(function(req,res,next){
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS,
PUT,PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type,a_custom_header'); //notice here carefully
res.setHeader('Access-Control-Allow-Credentials', true);
next();
})