2013-11-04 49 views
0

這裏是我的jQuery陣列 - ansList如何使用Ajax調用將jQuery數組傳遞到Spring?

$("#saveAndSubmitButton").click(function(){ 
    var ansList=[]; 
    var i=0; 
    for(i=0;i<queListSize;i++){ 
     if($("#value1"+i).is(':checked')){ 
      ansList.push("yes"); 
     } 
     else if($("#value2"+i).is(':checked')){ 
      ansList.push("no"); 
     } 
    }  
    goToSaveAndSubmitAction(ansList); 
    } 
}); 

function goToSaveAndSubmitAction(answersList){ 

var inputForSaveAndSubmit={ 
    ansList:answersList 
}; 
$.ajax({ 
    type:"POST", 
    url:"../../restful/workflow/saveAndSubmitAction", 
    data:inputForSaveAndSubmit, 
    dataType:"json", 
    success: function(jsonData){ 
     if(jsonData.success){ 
      alert('Inside Success'); 

     } 


    }, 
    error:function (XMLHttpRequest, textStatus, errorThrown) { 
      // showAlertMessage("error",textStatus); 
    } 
}); 
} 

在春天我的方法簽名是

@RequestMapping(value="/workflow/saveAndSubmitAction") 
public @ResponseBody String saveAndSubmitAction(@RequestParam(value="ansList", 
    required=false) String[] ansList){ 
} 

當我調試的代碼,看是否有值在ansList越來越稀少,我得到null爲ansList ...

可能是什麼問題?

回答

0

你只需要讓jQuery使用傳統的編碼方法。

$.ajax({ 
    type:"POST", 
    url:"../../restful/workflow/saveAndSubmitAction", 
    data:$.param(inputForSaveAndSubmit, true), , 
    dataType:"json", 
    success: function(jsonData){ 
     if(jsonData.success){ 
      alert('Inside Success'); 
     } 
    }, 
    error:function (XMLHttpRequest, textStatus, errorThrown) { 
     // showAlertMessage("error",textStatus); 
    } 
}); 

或稱之爲您提交XHR前

jQuery.ajaxSettings.traditional = true; 
相關問題