在 react-native 中发送请求标头/授权 axios.post
Posted
技术标签:
【中文标题】在 react-native 中发送请求标头/授权 axios.post【英文标题】:Sending request headers / authorization axios.post in react-native 【发布时间】:2020-08-16 15:50:26 【问题描述】:我在通过我的申请授权时遇到困难。 我的 jwt 令牌
export const update_profile = (
about,
birthday,
birth_location,
residence_location,
occupation,
company_name,
gender,
marital_status,
phone
) =>
return dispatch =>
dispatch(
type: UPDATE_PROFILE
)
const token = AsyncStorage.getItem('@token_jwt')
let url = "/update_profile"
Axios.post(`$SERVER$url`,
headers:
"Authorization": `Bearer $token`
,
"user":
"about": about,
"birthday": birthday,
"birth_location": birth_location,
"residence_location": residence_location,
"occupation": occupation,
"company_name": company_name,
"gender": gender,
"marital_status": marital_status,
"cellphone": phone
)
.then((response) =>
updateProfileSuccess(dispatch, response)
)
.catch((err) =>
updateProfileError(err, dispatch)
)
这是我的代码,我总是有未经授权的返回,当用户登录时,我的令牌保存在 AsyncStorage 中。
谁能帮帮我
【问题讨论】:
【参考方案1】:对于Axios,需要将标头作为第三个参数(而不是第二个)提供。
像这样
const headers =
'Content-Type': 'application/json',
'Authorization': `Bearer $token`
const data =
"user":
"about": about,
"birthday": birthday,
"birth_location": birth_location,
"residence_location": residence_location,
"occupation": occupation,
"company_name": company_name,
"gender": gender,
"marital_status": marital_status,
"cellphone": phone
axios.post(`$SERVER$url`, data,
headers: headers
)
.then((response) =>
...
)
.catch((error) =>
...
)
或者,您可以传递一个应该是对象的参数
...
const options =
method: 'POST',
headers: headers,
data: data,
url: `$SERVER$url`,
;
axios(options);
【讨论】:
以上是关于在 react-native 中发送请求标头/授权 axios.post的主要内容,如果未能解决你的问题,请参考以下文章
在 Ext JS Ajax 请求中发送“授权”标头,Chrome 与 Firefox
在 android 中使用 okhttp 在 webview 中的每个请求中发送授权标头
使用授权标头的react-native fetch有时会返回401