2013-05-18 75 views
0

我想從jquery加載到彈簧控制器傳遞長數組。我已成功傳遞字符串變量,但不是數組。jquery加載數組參數到彈簧mvc控制器

的javascript:

function ModuleMemberCheckboxPassIds(){ 
    var memberUserIds = []; 
    var memberNames = []; 
    $('.membercheckbox:checked').each(function(i){  
     memberUserIds[i] = $(this).val(); 
    }); 
    alert(memberUserIds.length); 
    $("#onetextarea").load('/assign_task', {"memberUserIds":memberUserIds, "testdata": "test", }); 
} 

彈簧控制器:

@RequestMapping(value="/assign_task") 
    public String viewAssignTask(Model model, String testdata, HttpServletRequest request){ 

     if(request.getAttribute("memberUserIds")==null) System.out.println("null"); else System.out.println("not null"); //returns null 

     System.out.println("test: " + testdata);//returns a value 

     model.addAttribute("transferVO", new TransferVO()); 
     return "module/view-members-checkbox"; 
    } 

viewAssignTask方法我能夠讀取從發送jquery的可變tesdata。但memberUserIds返回null

請幫助

回答

2

您可以使用:

request.getParameterValues("memberUserIds"); 

爲越來越多值參數。

否則:

要使用Spring MVC的功能

一個建議則代碼應該是:

RequestMapping(value="/assign_task") 
    public String viewAssignTask(Model model, String testdata,@RequestParam String [] memberUserIds, @RequestParam String testData){ 
//Your Code 
} 
+0

request.getParameterValues(「memberUserIds」);仍然顯示爲空。 我不明白它使用@RequestParam無法正常工作。呼叫不是針對這個控制器。 @RequestMapping(值= 「/ assign_task」) \t公共字符串viewAssignTask(型號模型,@ RequestParam的String [] memberUserIds,@ RequestParam字符串TESTDATA){...} JavaScript調用: $( 「#onetextarea」)。 load('/ hamdan/module/assign_task',{「memberUserIds」:memberUserIds,「testdata」:「test」,}); – user510783

+0

你能給我發送錯誤信息嗎 –

+0

沒有錯誤信息。代碼很好。我想請求找不到哪個控制器和路徑請求應該被調度 – user510783

3

你希望在服務器上的傳入的JSON對象?如果是這樣,你可以嘗試使用$ .ajax代替$ .load:

var data={"memberUserIds":memberUserIds,"testdata": "test"}; 

$.ajax({ 
    url: '/assign_task', 
    type: 'GET', 
    data: JSON.stringify(data), 
    contentType: 'application/json', 
    success: function(html) { 
     $("#onetextarea").html(html); 
    } 
}); 
+0

GET沒有工作,我不得不改變它發佈。 我不知道爲什麼,但我不得不寫這 數據:JSON.stringify (eval({「memberUserIds」:memberUserIds,「testdata」:「test」})), – user510783