获取-API返回HTML而不是JSON

时间:2016-11-15 05:37:10

标签: javascript json fetch-api

我有一个Spring REST API,我在Postman上测试过,它返回完全有效的JSON。 但是,当我在我的前端React Code上调用相同的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。

3 个答案:

答案 0 :(得分:4)

标题不正确。 JSON响应的有效标头:

headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
  }

答案 1 :(得分:1)

如果您未登录,有时Apis返回html而不是json,请确认

答案 2 :(得分:-1)

还要仔细检查一下,您在邮递员输入栏旁边的下拉框中选择了正确的HTTP方法。