jquery form.serialize(); 시 checkbox 값 ajax 전송되지 않는 이슈

왜 때문인지? form.serialize() 해서 파라미터 전송 한 거 보면 checkbox 값이 없음!

따로 작업해서 넣어줘야하는것을 알게되었음..

 

HTML

<form id="formId">
  <input id="checkboxId" name="checkboxName" type="checkbox" />
  <input type="text" />
</form>

 

JS

$.ajax({
  url: "url입력",
  dataType: 'json',
  data: form.serialize(),
  success: function (data) {
  	if(data.retcode === 100) alert('성공');
  }
});

 

피들러 확인해 보면 checkbox값이 전송되지 않는다는 것을 확인할 수 있다.
예외처리로 form 데이터를 만들어줘서 보내기!

 

JS

var $chk = $('#checkboxId');
var formData = $('#formId').serializeArray();

if(!$chk.is(':checked')){
  formData.push({
    name : $chk.attr('name'),
    value : false
  });	
}

 

 

 

 

+ Recent posts