使用数据(JavaScript)发出GET请求?

时间:2017-06-13 13:17:15

标签: javascript ajax get

我正在尝试使用数据向我的Web应用程序中的端点发出GET请求。但是,我不断遇到不应该有数据的GET请求的错误。我不是创建或更新资源,而是使用输入客户端的数据来为请求提供服务。这是我目前的实施 - 我在考虑这个错误吗?它会抛出一个错误TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.也许将它作为POST请求是有意义的吗?谢谢:))

export const fetchChartData = queryData => {
  return fetch('api/users', {
    body: JSON.stringify(queryData)
  })
  .then(res => res.json());
};

1 个答案:

答案 0 :(得分:3)

错误很明显,但这一切都取决于您正在使用的服务。是期待GET还是可以改为POST?

如果您可以更改为POST,只需在获取时添加方法:

export const fetchChartData = queryData => {
  return fetch('api/users', {
    method: "POST",
    body: JSON.stringify(queryData)
  })
  .then(res => res.json());
};

如果您无法更改为POST,则必须传递URL中的参数。

export const fetchChartData = queryData => {
  return fetch('api/users?param=value')
  .then(res => res.json());
};