相关疑难解决方法(0)

带请求正文的HTTP GET

我正在为我们的应用程序开发一个新的RESTful Web服务.

在某些实体上执行GET时,客户端可以请求实体的内容.如果他们想要添加一些参数(例如排序列表),他们可以在查询字符串中添加这些参数.

或者,我希望人们能够在请求正文中指定这些参数. HTTP/1.1似乎没有明确禁止这一点.这将允许他们指定更多信息,可以更容易指定复杂的XML请求.

我的问题:

  • 这完全是一个好主意吗?
  • HTTP客户端在GET请求中使用请求主体会有问题吗?

http://tools.ietf.org/html/rfc2616

rest http http-get

1896
推荐指数
19
解决办法
98万
查看次数

错误:无法在“Window”上执行“fetch”:使用 GET/HEAD 方法的请求不能有正文

我正在使用 fetch 来调用Google TimeZone。但是当我尝试将纬度/经度和时间戳作为正文参数传递时,出现错误。

错误:无法在“Window”上执行“fetch”:使用 GET/HEAD 方法的请求不能有正文

这是我的代码。Google 允许这样称呼吗?

const data = new FormData();
data.append('location', this.latitude.value + ',' + this.longitude.value);
data.append('timestamp', Math.floor(Date.now() / 1000).toString());
data.append('key', 'my google API key')
const timeZoneResult = await fetch('https://maps.googleapis.com/maps/api/timezone/json', {
  method: 'GET',
  headers: {},
  body: data,
});
const timeZone = await timeZoneResult.json();
Run Code Online (Sandbox Code Playgroud)

这样,所有的内容都在 url 字符串中,工作正常!

https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1331161200&key=myKeyHere

javascript fetch google-maps-api-3 google-maps-timezone

3
推荐指数
1
解决办法
3万
查看次数