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);
    }
});
}

春に私のメソッドの署名は

@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 に答える