0

我需要使用 ajax 向 js 发送一个数组,这是我在 java 脚本中使用 ajax 的函数...

$.ajax({
    url: "/localizacion/ServletPeticiones",
    type:"Post",
    data:"accion=LatLong_UR",
    dataType: "text",
    success: function(results){
        console.info(results);
        cad=results;   
    }
    });

我有一个数组String[][] datos,我必须使用最后一个函数将此数组从我的 Servlet 发送到 JS。

我怎么能做到这一点?如何使用 js 中的 ajax 功能从我的 Servlet 接收数组?

4

3 回答 3

2

servlet 将返回一个application/json响应和一个 JSON 编码的数组(更好的是,您可以使用 a Map<String, String>)。有像Gson这样的库可以进行转换:

public void doPost(HttpServletRequest request, HttpServletResponse response) {
  response.setContentType("application/json; charset=UTF-8");

  Gson gson = new Gson();
  Map<String, String> datos = getDatos(); // you have to implement this

  response.getWriter().println(gson.toJson(datos));
}
于 2013-03-05T23:04:25.270 回答
0

您可以尝试使用 JSON .. 您可以使用 google 的 GSON 库将数组转换为 JSON 表示形式并将其发送给您的客户端

在客户端...将 $.ajax 的 dataType 更改为“json”

在成功函数中,您只需将返回的数据用作 javascript 数组

于 2013-03-05T23:03:44.577 回答
0

JSON 将是正确的方法。PHP 具有json_encode从数组中很好地为您完成它的功能。另一种方法是手动创建 JSON 字符串,尽管这不是一个好主意。另一方面,只是为了练习和熟悉 JSON,它是可取的,但您最好使用服务器端平台的内置 json 生成功能。

您可能希望从服务器发送正确的标头,以便浏览器能够将其作为 json 数据接收:“ Content-Type: application/json

于 2013-03-05T23:26:45.453 回答