gpt4 book ai didi

javascript - Ratpack 无法从 body 中检索值(value)

转载 作者:行者123 更新时间:2023-11-30 15:23:41 25 4
gpt4 key购买 nike

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

$("#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响应回来。(第二个对象依赖于之前的对象数据)

最佳答案

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

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");
})

你也可以链接它,例如

context.getRequest().getBody().flatMap({ data ->
//parse data and get id
//call to async service who returns Promise
return service.getReport(id).map((String report) -> {
// do some staff
})
}).then({
//final staff before send response
//import static ratpack.jackson.Jackson.json;
context.getResponse().send(json(result).toString());
})

关于javascript - Ratpack 无法从 body 中检索值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43309771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com