gpt4 book ai didi

json - 如何在 react native 应用程序中获取带有 header 的 api(POST)

转载 作者:行者123 更新时间:2023-12-01 23:27:24 25 4
gpt4 key购买 nike

我试图将三个参数放在我对特定 api 的发布请求中,但我没有得到预期的响应。 API 在我的 Postman 中运行良好,但我不确定我在我的 react native 应用程序中的获取方法我是新手,所以我不知道如何在我的 api 请求中放置 header 我遵循了一些文档但没有得到太多请看看并回答我的问题。

 constructor (props) {
super (props)
this.state = {
detail: ''
}
}

ComponentDidMount(){
var data = new FormData();
data.append('mobile_number','8615351655')
data.append('mobile_country_code','+21')
data.append('rec_name','Shantanu Talwaar')
}
fetchData = async() => {
fetch('http://link.com/link/',
{
method: 'POST',
headers:{
//this what's exactly look in my postman
'Authorization': 'Token 97a74c03004e7d6b0658dfdfde34fd6aa4b14ddb;
},
body: this.data
})
.then((response) => response.json())
.then((responseJson) => {
alert(responseJson.detail)
}).catch((error) => {
alert('error')})}

render() {
return (
<View style = {styles.container}>
<Button onPress = {this.fetchData} title = "fetch"/>
<Text style={styles.text}>Fetched data displays below</Text>
<Text style={styles.text}>{this.state.detail}</Text>
</View>
)
}
}

这是我现在在警报框中的结果:“未提供身份验证凭据。”

最佳答案

您的 token 后面缺少一个 '。

'Authorization': 'Token 97a74c03004e7d6b0658dfdfde34fd6aa4b14ddb;

因为它是一个 JSON 对象,你应该删除分号

所以,最终的代码是

'Authorization': 'Token 97a74c03004e7d6b0658dfdfde34fd6aa4b14ddb'

还有另一个问题。无法从 fetch 函数访问数据声明。所以你应该这样做。

fetchData = async() => {
var data = new FormData();
data.append('mobile_number','8615351655')
data.append('mobile_country_code','+21')
data.append('rec_name','Shantanu Talwaar')

fetch('http://link.com/link/',
{
method: 'POST',
headers:{
//this what's exactly look in my postman
'Authorization': 'Token 97a74c03004e7d6b0658dfdfde34fd6aa4b14ddb'
},
body: data
})
.then((response) => response.json())
.then((responseJson) => {
alert(responseJson.detail)
}).catch((error) => {
alert('error')
})
}

关于json - 如何在 react native 应用程序中获取带有 header 的 api(POST),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54501356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com