내 JS 파일에서이 JSON 데이터를 게시하고 있습니다.스프링 컨트롤러가 JS 파일에서 JSON POST 데이터를 가져 오지 않습니다.
myPayload[0].id=1&myPayload[0].name=Me&myPayload[0].pId=2&myPayload[0].pName=Dad
YUI 번호 :
var formElements = YAHOO.util.Connect.setForm("myFormId");
alert("New form elements:" + formElements); // Alerting POST data as shown above
YAHOO.util.Connect.resetFormState();
YAHOO.util.Connect.asyncRequest("POST", "/mycontroller/save", {
cache : false,
success : function(res) {
alert(res.responseText);
},
failure : function(res) {
alert(res.responseText);
}
}, formElements);
컨트롤러 코드 :
@RequestMapping(value = "/save", method=RequestMethod.POST)
@ResponseBody
public String saveData(ModelMap mm, @ModelAttribute("myPayload") MyBean bean, BindingResult errors) {
log.info("save:Called");
List<MyDTO> lst = bean.getList();
log.info("save:Number of records:" + lst.size());
return "Successfully Updated.";
}
콩 코드 :
public class MyBean {
private List<MyDTO> myPayload = new AutoPopulatingList<MyDTO>(MyDTO.class);
public List<MyDTO> getList() {
return myPayload;
}
public void setList(List<MyDTO> mList) {
this.myPayload = mList;
}
}
목록은 여전히 비어 있습니다. bean 값도 비어 있습니다. 여기서 내가 뭘 잘못하고 있니?
를 사용하는 경우
는 잭슨 의존성을 추가 하시겠습니까? – Hippoom
예, 요소를 만드는 동안 포매터에 ID를주는 방식입니다. 예. id : "myPayload ["+ index + "]." + oColumn.getKey(). JS 파일에서 setForm API 호출의 페이로드를 가져오고 있습니다. 나는 나의 질문에서 그것을 언급했다. 요청을 보내기 전에 JS에서 모든 id : value 맵을 올바르게 가져옵니다. 그러나 컨트롤러에서 그걸 얻지 못하고 있습니다. 운송 중에 페이로드가 손실됩니다. – Sujoy