XMLHTTPRequest在Safari和Opera上失败。

问题描述 投票:-1回答:1

我有三个端点,其中一个端点我使用GET方法,工作正常。对于其他两个端点,我使用的是PUT方法。在Safari上我收到 "XMLHttpRequest cannot load ... "和 "NetworkError: A network error occurred."。在Opera上,我得到415 Unsupported media type。

var xhr = new XMLHttpRequest();
xhr.open('PUT', attemptUrl + '/' + mode, false);
xhr.send({state: attempt});

我发现这个 https:/bugs.chromium.orgpchromiumissuesdetail?id=327014。但据我所知,这些端点没有重定向功能

javascript safari xmlhttprequest opera
1个回答
0
投票

你的代码有几个问题。

  • 同步模式已被废弃,但你却启用了它。
  • 你没有设置一个Content-Type头来描述你要投放的内容类型。
  • 您将一个普通对象传递给 send 而不是它所接受的一种数据格式。

可能你是想PUT一个JSON文本,所以你需要设置JSON的内容类型,并将你的对象编码为JSON。

const data = {state: attempt};
const json = JSON.encode(data);
const xhr = new XMLHttpRequest();
xhr.open('PUT', attemptUrl + '/' + mode);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(json);
© www.soinside.com 2019 - 2024. All rights reserved.