Fetch in react native不发送帖子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fetch in react native不发送帖子相关的知识,希望对你有一定的参考价值。
您好我正在尝试将post变量发送到我的API,而我没有在php文件中获取发布数据
这是我的反应本机代码:
let data = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
'firstname': 'test',
}),
}
fetch(GLOBALS.API + '/registerApi.php?key=' + GLOBALS.KEY, data)
.then((response) => response.json())
.then((responseJson) => {
Alert.alert(
'Alert Title',
responseJson.output
)
})
.catch((error) => {
console.error(error);
});
它让我空虚:[]
$array = array(
"output" => json_encode($_POST)
);
$output = json_encode($array);
die($output);
当我使用$_REQUEST
时它只返回key
获取参数而没有firstname
。
答案
在PHP中,您需要使用
$json = file_get_contents('php://input');
$obj = json_decode($json, TRUE)
另一答案
JSON.stringify对我不起作用,请尝试使用FormData来准备发送数据。这是一个例子:
import FormData from 'FormData';
let formData = new FormData();
formData.append('firstname', 'test');
let data = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: formData
}
fetch(api_url, data)
.then(response => response.json())
.then(responseJson => console.log('response:', responseJson))
.catch(error => console.error(error));
另一答案
问题是JSON.stringify。请改用FormData。无需安装,它不是第三方。这个对我有用。
import FormData from 'FormData';
var formData = new FormData();
formData.append('username', 'Andy');
...
{
...
body: formData
...
}
以上是关于Fetch in react native不发送帖子的主要内容,如果未能解决你的问题,请参考以下文章
POST 方法在 react-native 应用程序(Android)中不起作用(Fetch 或 Axios)
android的React Native fetch()网络请求失败?
调用 Fetch API 后没有得到任何东西 - React Native
React Native fetch Network 请求失败 iOS