使用ReactJS发布请求

问题描述 投票:1回答:1

我目前正在尝试在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);
    });
}
reactjs post fetch
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.