如何使用AJAX将数组从Servlet发送到Javascript?

时间:2013-03-05 23:00:01

标签: java javascript ajax servlets

我需要使用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接收数组?

3 个答案:

答案 0 :(得分:2)

servlet将返回application/json响应和JSON编码数组(更好的是,您可以使用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));
}

答案 1 :(得分:0)

您可以尝试使用JSON ..您可以使用谷歌的GSON库将数组转换为JSON表示并将其发送到您的客户端

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

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

答案 2 :(得分:0)

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

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