【发布时间】:2017-02-02 10:09:38
【问题描述】:
我正在尝试使用 Apache Ignite 的 REST API 将数据放入缓存中。所以,我使用了以下链接: 将数据放入缓存:
http://localhost:8080/ignite?cmd=put&key=1&val=b&destId=09f7232d
现在,要从我使用的缓存中获取这些数据:
http://localhost:8080/ignite?cmd=get&key=1&destId=09f7232d
为此,我得到了积极的回应:
{"successStatus":0,"affinityNodeId":"09f7232d-fb4b-4080-b45d-ddd18ce2e32e","sessionToken":"","error":"","response":"b"}
但是当我尝试通过我的 scalajs 应用程序使用 XmlHttpRequest 使用 HTTP POST 向 Ignite 发送数据时,它显示“400 Bad Request”
我的 POST 代码是:
val xp = new dom.XMLHttpRequest()
val purl="http://localhost:8080/ignite"
xp.open("POST",purl )
xp.send("cmd=put&key=1&val=a&destId=09f7232d")
有人可以解释为什么它会表现出这种行为吗?提前致谢。
【问题讨论】:
-
检查响应正文 (
xp.response) 以查看是否有任何关于错误的其他信息。 -
您可能需要设置正确的
Content-TypeHTTP 标头:xp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); -
@LeonidVasilyev 感谢您的回复。我已经解决了关于 POST 方法的问题。它按预期工作,但我仍在努力使用 GET 方法。
xg.onload根本没有执行。你能帮我解决这个问题吗? -
将另一个回调分配给
xg.onerror并检查响应。 -
查看 XMLHttpRequest 标准的Events summary 部分以获取更多信息。
标签: xmlhttprequest http-post http-get scala.js ignite