gpt4 book ai didi

javascript - React Native POST 数据到 API 不起作用

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

我得到Notice: Undefined index当我使用 React Native 中的 FormData 将数据发布到 php API 时的响应。但是当我在 php 文件中硬编码参数时,我能够得到结果。

我尝试过使用JSON.stringify来自 React 文档。我遇到同样的问题。在服务器端我尝试了建议 file_get_contents('php://input')它只返回 null。

  var data = new FormData();
data.append({
latitude: '55555',
longitude: '9999',
});

fetch('http://localhost/someapi', {
method:'POST',
headers:{
'Accept':'application/json',
'Content-Type': 'multipart/form-data',
'Content-length': data.length
},
body: data
})
.then((response)=>response.text())
.then((response)=>{
console.log(' Show response');
console.log(response);
})
.catch((err)=>{
console.warn(err);
});

我正在使用response.text()这样我就可以显示错误。否则response.json()给我Unexpected token <因为它返回 html

这是我的 PHP 服务器代码

 $lat =  $_POST['latitude'];
$lng = $_POST['longitude'];
echo json_encode($lat);

我也尝试过

 $json = file_get_contents('php://input');
$obj = json_decode($json, TRUE);
echo $obj;

最佳答案

您正在传递 'multipart/form-data' header ,因此您必须将 formdata 传递给 body 而不是 JSON.stringify

 var formData = new FormData();
formData.append('latitude', 55555);
formData.append('longitude', 9999);

fetch('http://localhost/someapi', {
method:'POST',
headers:{
'Accept':'application/json',
'Content-Type': 'multipart/form-data'
},
body: formData
})
.then((response)=>{
console.log('Response ==>',response);
})
.catch((err)=>{
console.warn(err);
});

关于javascript - React Native POST 数据到 API 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54689224/

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