Fetch-API返回的是HTML而不是JSON [英] Fetch -API returning HTML instead of JSON

查看:36
本文介绍了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',
  }

这篇关于Fetch-API返回的是HTML而不是JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆