簡體   English   中英

如何使用AJAX將數組從Servlet發送到Java Script?

[英]How to send an array from Servlet to Java Script with AJAX?

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

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

您可以嘗試使用JSON ..您可以使用谷歌的GSON庫將數組轉換為JSON表示並將其發送到您的客戶端

在客戶端...將$ .ajax的dataType更改為“json”

在success函數中,您只需將返回的數據用作javascript數組

JSON將是正確的方法。 PHP有json_encode函數,它可以很好地為您提供數組。 另一種方法是手動創建一個JSON字符串,雖然這不是一個好主意。 另一方面,只是為了練習並熟悉JSON,這是可取的,但你最好使用服務器端平台的內置json生成功能。

您可能希望從服務器發送正確的標頭,以便瀏覽器能夠以json數據的形式接收它:“ Content-Type: application/json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM