如何从php脚本获取响应文本?

时间:2019-08-09 01:02:31

标签: javascript php fetch-api

我正在使用fetch API将数据发送到PHP脚本,然后由PHP脚本处理它并使用exit()函数返回一条消息。 当我在nextwork选项卡下打开开发人员工具时,可以看到此响应,但是我不知道如何在JavaScript代码中访问此响应。 这是我的JavaScript代码:

fetch(url, {
      method: 'POST',
      body: formData,
    }).then(response => {
      if (response.status === 200) {
        console.log(this.responseText); //this is the property i'm not sure of
      }
    }).catch( (error) => {
      handleError("you are disconnected");
    });

这是我的php代码:

$comment = $_POST['comment'];
$category = $_POST['category'];
$id = $_POST['id'];
if ($comment && $category && $id) {
exit("invalid");
} else ....

1 个答案:

答案 0 :(得分:2)

您要查找的是响应的正文。不过,这是可读的流,因此您需要兑现承诺。

示例:

fetch(url, {
  method: 'POST',
  body: formData,
})
  .then(response => response.json()) // read the response stream as JSON
  .then(data => console.log('Here is your actual response body', data))
  ... whatever else you want to do here...

在上面的示例中,流被读取为JSON。对于您的特定用例,text()方法可能更合适。