Fetch-API返回的是HTML而不是JSON
我有一个Spring rest API,我在Postman上测试过它,它返回完全有效的JSON。 然而,当我在我的前端Reaction代码上调用相同的API时,它会返回HTML。 这就是我用来调用API的函数
export function run(engine, mediaId, owner, target, access){
let url = engine + "/" + mediaId + "?id=" + owner + "&targetId=" + target + "&access=" + access;
return fetch(full_url, { credentials: "include",
headers: {
"Content-type": "application/x-www-form-urlencoded; charset=UTF-8"
}})
.then((response) => {
return response.json();})
.then((data) => {
console.log(data);
})
.catch((error) => {
console.log(error);
});
}
我在这个调用中得到一个语法错误Unexpected token < Thus when I check using response.text()
我可以看到返回的数据是HTML而不是JSON。我需要在前端代码中进行哪些更改才能使API返回JSON。
解决方案
标头不正确。JSON响应的有效标头:
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
相关文章