使用ReactJS发布请求

时间:2020-04-07 00:28:49

标签: reactjs post fetch

我目前正在尝试在React中为我的应用发出POST请求。在我的App的先前版本中,我使用AJAX向该端点URL发出了发布请求。在原始版本中工作良好,在Postman中工作。 (我可以填写:psid键的值,然后进行发布)

https://endpoint.com/viewquestion/:psid

但是,当我过渡到React并使用fetch方法时,它不断抛出此错误:

SyntaxError: "JSON.parse: unexpected character at line 1 column 1 of the JSON data"

有人可以帮我吗?谢谢!

原始代码(jQuery)

function ViewQuestion(psid) {
  $.ajax({
    url:
      "https://endpoint.com/viewquestion/" +
      psid,
    dataType: "text",
    type: "post",
    contentType: "application/x-www-form-urlencoded",
    data: $(this).serialize(),
    success: function(data, textStatus, jQxhr) {
      console.log(data);
      // Logger(data);
    },
    error: function(jqXhr, textStatus, errorThrown) {
      console.log(errorThrown);
    }
  });
}

新代码(反应):

viewQuestion: (ps_id) => {
  fetch(
    `https://endpoint.com/viewquestion/${ps_id}`,
    {
      method: "POST",
      headers: { "Content-Type": "application/x-www-form-urlencoded" },
    }
  )
    .then((res) => res.json())
    .then((data) => {
      console.log(data);
    })
    .catch((error) => {
      console.log(error);
    });
}

1 个答案:

答案 0 :(得分:0)

这可能是您从服务器获得的响应。在您的原始代码中,您并没有response.json(),现在就可以了。尝试删除它,然后console.log响应以查看您得到的内容以及如何访问该数据。