0

这是我的 jQuery 数组 - ansList

$("#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);
    }
});
}

在 Spring 中,我的方法签名是

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

当我调试此代码以查看是否在 ansList 中填充了任何值时,我得到 ansList 的 null ...

可能是什么问题呢??

4

1 回答 1

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;
于 2013-11-04T09:08:04.227 回答