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