gpt4 book ai didi

javascript - 从 Javascript 向 Servlet 发送数据

转载 作者:行者123 更新时间:2023-12-02 18:14:28 25 4
gpt4 key购买 nike

我想对服务器进行 ajax get 调用。到目前为止我一直使用:

$.get("/FruitResults?fruit="+fruitname+"&color="+colorname,function(data){addToTables(data);},"text");

用于发送参数水果,颜色。现在如果我有很多水果,它们的颜色,价格..

{apple:{color:red,price:30},orange:{color:orange,price:10}}

这么大的水果列表,我应该如何使用 Ajax 调用将其发送到 servlet,以什么格式?在 servlet 端,我应该如何从请求对象中检索请求参数?

最佳答案

Http get方法不适合发送复杂的数据。因此,您必须使用post方法将复杂的数据从客户端发送到服务器。您可以使用 JSON 格式来编码该数据。示例代码如下:

var fruits = {apple:{color:red,price:30},orange:{color:orange,price:10}};
$.post("/FruitResults", JSON.stringify(fruits), function(response) {
// handle response from your servlet.
});

请注意,由于您使用了 post 方法,因此您必须在 servlet 的 doPost 方法而不是 doGet 中处理此请求。要检索发布的数据,您必须读取 servlet 请求的输入流,如下所示:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String jsonString = new String(); // this is your data sent from client
try {
String line = "";
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null)
jsonString += line;
} catch (Exception e) {
e.printStackTrace();
}

// you can handle jsonString by parsing it to a Java object.
// For this purpose, you can use one of the Json-Java parsers like gson**.
}

** gson 链接:http://code.google.com/p/google-gson/

关于javascript - 从 Javascript 向 Servlet 发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19424313/

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