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