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,还是一样。 它返回 Promise 上面的答案现在应该显示数据 成功了。谢谢,和data=await response.json()一样吗? then() 函数中的返回值本身用作一个承诺值。

以上是关于React 无法从 PHP API 获取响应正文的主要内容,如果未能解决你的问题,请参考以下文章

改造 2:从响应正文中获取 JSON

无法使用 Gmail PHP API 获取电子邮件正文

无法从 axios POST 请求中获得响应(React)

Guzzlehttp - 如何从 Guzzle 6 获取响应的正文?

从 HTTPServletResponse 获取正文和响应代码

PHP curl获取api响应