2012-10-03 65 views
0

我有一個數組被填充,然後當我發送它時,我的servlet將它作爲null接收。將javascript數組傳遞給一個java servlet

var allIcons = new Array(); 
$('.icon').each(function(index){ 
    allIcons.push($(this).find('.iconName').html()); 
}); 

,這似乎是填補了使用

$.ajax({ 
    "dataType" : 'json', 
    "type": 'GET', 
    "url" : 'update' 
    "data" :{ 
     "allIcons" : allIcons 
    }, "success": function(json){alert("alert");}}); 

我的servlet,然後嘗試讀取它,但總是得到與相應的字段

我然後將它傳遞給我的servlet數組返回null

if(request.getParamtersValues("allIcons").length > 0) {/*do something*/} 

request.getParamterValues()應該返回一個String []

另外我知道我的servlet能夠接收數據,因爲這是除了一些其他代碼。 謝謝 -Tommy

+1

做一個'request.getParameterNames()'看看你在那裏得到了什麼。 – muratgu

+0

聽起來像js數組'allIcons'裏面沒有任何數據。 – muratgu

+0

嗯....是的,request.getParameterNames()返回了我「allIcons []」,我在其中查找沒有括號的「allIcons」。所以,如果你正在尋找一個從JS到一個servlet的數組,一定要使用正確的參數,並把'[]' –

回答

0

request.getParameterNames()向我返回「allIcons []」,我在其中查找沒有方括號的「allIcons」。所以,如果你正在尋找一個從JS到一個servlet的數組,一定要使用正確的參數。一定要加上你的大括號。 「[]」

1
$.ajax({ 
    dataType : 'json', 
    type: 'GET', 
    url : 'update' 
    data :{ 
     "allIcons" : allIcons 
    }, success: function(data){alert("alert");}}); 
+0

這適用於jquery/ajax方面,但在servlet方面,我無法找到什麼被傳遞。正如我評論的(與答案),我最後需要大括號。 –