2013-11-04 52 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; 
相关问题