我的代码很简单。我必须将表单数据发送到服务器。我的 token 也在工作。但我无法将表单数据作为数据发送。它应该是:“input”:“message”,但这给了我一些非常复杂的东西。我的 Axios 似乎也不错,但我不确定。
const Screen = ({ navigation }) => {
const [formData, setFormData] = useState();
const onSubmit = async ({ formData }) => {
let token = await AsyncStorage.getItem("token");
const data = new FormData();
data.append("input", { input: formData });
axios
.post(
`http://example.com/api`,
(data: data),
{
crossdomain: true,
},
{
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json",
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "POST",
"Access-Control-Allow-Headers": "Content-Type, Authorization",
"Access-Control-Allow-Credentials": "true",
},
}
)
.then((res) => {
console.log(res.data);
})
.catch((error) => {
console.log(error);
});
};
return (
<View>
<Input
value={formData}
onChangeText={setFormData}
placeholder="Type something"
onSubmitEditing={() => onSubmit({ formData })}
/>
</View>
);
};
export default Screen;
在表单数据部分,我的键是“输入”,我的值是用户写的。所以它就像:“输入”:“用户的消息”。 - 但它提供的数据是这样的:
FormData {
"_parts": Array [
Array [
"input",
Object {
"input": "Naber",
},
],
],
}
最佳答案
像这样附加到 formData :
data.append("input",formData);
并且您需要将 header Content-Type
作为 multipart/form-data
发送,并使用 axios 发送 formData,如下所示:
axios.post("api",data,{
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json",
"Content-Type": "multipart/form-data",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "POST",
"Access-Control-Allow-Headers": "Content-Type, Authorization",
"Access-Control-Allow-Credentials": "true",
}
})
如果您在每个请求中发送授权 header ,您可以使用 `axios.defaults.headers.common 附加到所有 axios req header
,如下所示:
axios.defaults.headers.common['Authorization'] =`Bearer ${token}`;
https://stackoverflow.com/questions/63198049/
相关文章:
ruby-on-rails - ActiveStorage 和 s3 - 默认设置所有公开的图像
reactjs - TypeScript 提示组件缺少由 redux 注入(inject)的属性
python - 当我的播放器类与我的平台类之一发生碰撞时,如何制作和结束屏幕?
python - 无法将从 MongoDB 检索到的 json 值返回到 python flask
node.js - 如何避免使用 discord.js api 超过速率限制?
python - 使用 pydbgen 模块时出现 TypeError
mongodb - 更新嵌套数组的字段时,如何使 mongodb 的 "updated"停止?
macos - 没有应用程序包的 QT 命令行可执行二进制文件有 Macdeployqt 吗?