React 无法从 PHP API 获取响应正文
Posted
技术标签:
【中文标题】React 无法从 PHP API 获取响应正文【英文标题】:React can't get response body from PHP API 【发布时间】:2021-08-12 01:00:25 【问题描述】:我正在尝试向我的 php 文件发送 POST 请求并获得响应。响应是使用代码 200 发送的,但是,我看不到 PHP 返回什么。这是我的反应代码:
useEffect(()=>
const requestOptions =
method: 'POST',
headers: 'Content-Type': 'application/json' ,
body: JSON.stringify( title: 'Hello!' )
fetch('http://localhost:80/react/db.php',requestOptions)
.then((response) =>
console.log(response)
)
.catch(err =>
alert('error')
)
,[])
这是我的 PHP 代码:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
header("Content-type:application/json");
echo "data";
在控制台上记录 response
返回我:
我无法从 PHP 中获取“数据”。
【问题讨论】:
【参考方案1】: fetch('http://localhost:80/react/db.php',requestOptions)
.then((response) => response.json())
.then(data =>
console.log(data)
).catch(err =>
alert('error')
)
【讨论】:
它显示“未定义”。我在php文件上加了json_encode,还是一样。 它返回 Promisedata=await response.json()
一样吗?
then() 函数中的返回值本身用作一个承诺值。以上是关于React 无法从 PHP API 获取响应正文的主要内容,如果未能解决你的问题,请参考以下文章
Guzzlehttp - 如何从 Guzzle 6 获取响应的正文?