【问题标题】:React can't get response body from PHP APIReact 无法从 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 中获取“数据”。

【问题讨论】:

    标签: php reactjs api


    【解决方案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() 函数中的返回值本身用作一个承诺值。
    猜你喜欢
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    相关资源
    最近更新 更多