【问题标题】:Not able to send data to Ignite cache through HTTP POST无法通过 HTTP POST 将数据发送到 Ignite 缓存
【发布时间】: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-Type HTTP 标头: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


【解决方案1】:

我使用以下代码解决了我的问题:

val xp = new dom.XMLHttpRequest()
val purl="http://localhost:8080/ignite?cmd=put&key=1&val=a&destId=09f7232d" 
xp.open("POST",purl )
xp.send("grant_type=client_credentials")

【讨论】:

    猜你喜欢
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 2019-04-12
    相关资源
    最近更新 更多