<form>
<input type="text" name="test" value="첫번째 값">
<input type="text" name="test" value="두번째 값">
<input type="text" name="test" value="세번째 값">
</form>
var data = $("form").serializeArray();
var arr = new Array();
var map = new Map();
for(var i=0;i<data.length;i++){
map.set(data[i].name, data[i].value);
};
arr.push(map);
data = [{name:"test" ,value:"첫번째 값"},{name:"test" ,value:"두번째 값"},{name:"test" ,value:"세번째 값"}]
serialize()
form 내 모든 값을 문자열 하나로 합침
test=첫번째 값&test=두번째 값&test=세번째 값
// for문 내부
map.set("test", "첫번째값");
map.set("test", "두번째값");
map.set("test", "세번째값");
arr = [{"test":"첫번째 값"},{"test":"두번째 값"},{"test":"세번째 값"}]
$.ajax({
url: 처리할 url,
data: JSON.stringify(arr),
contentType: 'application/json',
type: "POST",
success: function(){
alert("수정이 완료되었습니다.");
},
error: function(){
alert("다시 시도해주세요.");
}
});
@RequestMapping("ajax를 처리할 url")
@ResponseBody
public void sample(@RequestBody List<Map<String, Object>> list){
...
}
List<Map<String, Object>>
타입의 변수로 arr을 받음arr = [{"test":"첫번째 값"},{"test":"두번째 값"},{"test":"세번째 값"}]
<update id="updateSample" parameterType="java.util.List" flushCache="true">
<foreach collection="list" item="item" index="index" separator=";" open="DECLARE BEGIN" close="; END;" >
UPDATE 테이블명
SET
컬럼 = #{item.test}
WHERE 조건식
</foreach>
</update>