api*_*art 10 javascript get xmlhttprequest fetch-api axios
好吧,我知道这是一个坏主意,不应该这样做,但为了这个问题,请假设没有其他方法 - 我得到的 API 端点需要以空对象作为主体的 GET 请求。
有没有办法从浏览器执行异步请求?我正在使用在幕后axios使用的库, MDN说当 HTTP 方法是 时会擦除主体。我尝试使用本机,但它在浏览器中给我这个错误:
XMLHttpRequestsendGETfetchTypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.
有什么办法可以做到吗?
不,没有。
\n\nGET 请求不能有请求正文,您不能让它们有请求正文。GET 请求仅检索数据,从不发送数据。
\n\n需要以空对象作为主体的 GET 请求的 API 不起作用。
\n\n显然,GET 请求可以有主体。大多数实现都会忽略它或拒绝该请求。但即使提供 API 的服务器允许主体,您也无法使用它:
\n\n从规范来看XMLHttpRequest#send:
\n\n\n发起请求。可选参数提供请求实体主体。如果请求方法是 GET 或 HEAD,则忽略该参数。如果状态未打开或设置了 send() 标志,则引发“InvalidStateError”异常。
\n
根据有关fetch API 中Request类的规范:
\n\n\n如果 init\xe2\x80\x99s body 成员存在且非 null 或inputBody 为非 null,并且request\xe2\x80\x99s 方法为
\nGETorHEAD,则抛出 TypeError。
这意味着您问题的答案仍然是“否”。
\n| 归档时间: |
|
| 查看次数: |
15032 次 |
| 最近记录: |