Ratpack无法从身体中获取价值

时间:2017-04-09 17:32:12

标签: javascript java jquery post ratpack

我通过邮件请求从网页向服务器发送数据。

$("#1, #2, #3, #4").on("click", function(){
            console.log($(this).attr("id"));
              var xhr = new XMLHttpRequest();
              xhr.open("POST", "SimpleServlet.html", true);
              xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
              xhr.send(JSON.stringify({"product_id": $(this).attr("id"), "quantity" : 1 }));
            });

借助此javascript。我确信它会被发送到服务器并且它到达那里。

在服务器上,我尝试检索我写入数据的值。

.post("SimpleServlet.html", ctx ->
                    {
                        final Response response = ctx.getResponse();

                        System.out.println("Getting result");

                        final ExecResult<String> result = ExecHarness.yieldSingle(c ->
                                ctx.parse(String.class));


                        System.out.println("Getting value");
                        response.send("webshop.html");
                    })

遗憾的是,我没有找到任何指导如何相应地检索字符串值。

我尝试了上述内容,但这确实会永远陷入ExecHarness内部。

我想收到价值。带他们创建一个新的java对象,然后回复另一个java对象的json。 (第二个对象取决于先前的对象数据)

1 个答案:

答案 0 :(得分:2)

Ratpack's API reference 而不是ExecHarness尝试这样的事情:

String.valueOf(int);

您也可以链接它,例如

ctx.getRequest().getBody().then({ data ->
  String text = data.getText();
  // parse text with whatever you use, e.g. Jackson

  System.out.println("Getting value");
  response.send("webshop.html"); 
})