2013-03-05 50 views
0

我需要發送一個陣列阿賈克斯JS,這是我在一個Java腳本AJAX功能...如何使用AJAX將數組從Servlet發送到Java Script?

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

我有一個數組String[][] datos,我得從我的Servlet發送此陣JS與最後一個功能。

我該怎麼做? 如何在我的Servlet中使用js中的ajax函數接收數組?

回答

0

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

在客戶端...改變$就的數據類型爲「JSON 「

在成功的功能您只需使用返回的數據,如JavaScript陣列

+0

謝謝,我會努力! :) – 2013-03-05 23:10:25

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

謝謝,我會嘗試! :) – 2013-03-05 23:09:59

0

JSON會去了解它的正確方法。 PHP有json_encode函數,它非常適合你從數組​​中獲得。另一種方法是手動創建JSON字符串,儘管這不是個好主意。另一方面,僅僅爲了練習並熟悉JSON,這是可取的,但是你最好使用服務器端平臺的內置json生成功能。

您可能需要從服務器發送一個正確的頭那麼瀏覽器都能夠接受它作爲JSON數據:「Content-Type: application/json

相關問題