Serialize 와 SerializeArray 개념
에 대해서 알아보자.
먼저 Serialize에 대한 개념을 살펴보자.
Serialize는 우리 나라 말 로 직렬화 이다.
직렬화는 컴퓨터 과학과 데이터 전송 분야에서 중요한 개념이다.
직렬화는 데이터 구조나 객체를 바이트 스트림 또는 다른 형태로 변환하는 프로세스를 말한다.
이 프로세스를 통해 데이터나 객체를 파일로 저장하거나 네트워크를 통해 전송하고, 나중에 복원할 수 있다.
데이터 저장
객체나 데이터 구조를 파일 또는 데이터베이스에 저장할 때 사용된다.
이후에 데이터를 읽어와 복원할 수 있습니다.
데이터 전송
객체를 네트워크를 통해 다른 시스템으로 전송할 때 사용된다.
객체를 직렬화하여 전송하면 원격 시스템에서 객체를 복원할 수 있다.
캐시
직렬화는 객체를 캐시에 저장하고 나중에 필요한 경우 복원할 수 있게 해준다.
다시 본론으로 돌아와서
JQuery Ajax로 호출하기 전에,
Serialize를 해주면 form안에 값들을 한번에 전송 가능한 data로 만들 수 있어서,
많은 data를 보낼 때 유용하다.
형태
$().serialize();
$() 괄호 안에는 form의 id나 name을 넣어주면 된다.
예시
<from id="form">
<input type="text" name="a" value="1"/>
<input type="text" name="b" value="2"/>
<input type="text" name="c" value="3"/>
</form>
<script>
//serialize를 사용할 경우
$.ajax({
type : 'GET',
url : '서버url',
dataType : 'JSON',
data : $(#form).serialize();,
success : function() {
alert('전송 성공!');
}
});
//serialize를 사용 안 할 경우
$.ajax({
type : 'GET',
url : '서버url',
dataType : 'JSON',
data : {
a : '1' ,
b : '2' ,
c : '3'
},
success : function() {
alert('전송 성공!');
}
});
</script>
Ajax를 사용해서 서버에 데이터를 보낼 때, 서버가 이해할 수 있는 형식으로 바꿔줘야 한다.
그 형식으로 바꿔주는 방법이 객체 직렬화 (데이터 직렬화) 이다.
이 형식으로 바꿔주면 하나의 객체로 만들 수 있고, Ajax요청에서 데이터를 하나의 덩어리로 보낼 수 있다 !
Jquery에서 제공하는 직렬화 메소드가 있는데, 그 메소드가 Serialize 와 SerializeArray 이다.
Serialize 예시
폼(form)에 있는 모든 필드를 문자열 하나로 합치는데, 문자열을 키/값의 쌍을 &문자로 구분한 형태이다.
<from id="firstForm">
<input type="text" name="a" value="1"/>
<input type="text" name="b" value="2"/>
<input type="text" name="c" value="3"/>
</form>
$("#firstForm").serialize();
//결과 a=1&b=2&c=3
SerializeArray 예시
키/값 쌍으로 구성된 연고나 배열을 만드는데, 이 배열은 단 하나의 객체지만 구조화가 잘 되어있다.
<from id="secondForm">
<input type="text" name="d" value="4"/>
<input type="text" name="e" value="5"/>
<input type="text" name="f" value="6"/>
</form>
$("#secondForm").serialize();
//결과 [{name:"d" , value:"4"},{name:"e" , value:"5"},{name:"f" , value:"6"}]
참고(출처)
https://m.blog.naver.com/wiseyoun07/220659439860
serialize와 serializeArray 개념 정리
Ajax를 사용해서 서버에 데이터를 보낼 때는 Ajax 요청으로 전송할 수 있고 서버가 이해할 수 있는 방식...
blog.naver.com
https://lookingfor.tistory.com/entry/JQuery-serialize
JQuery serialize() 사용하는 이유
JQuery serialize JQuery Ajax로 호출하기 전에 serialize를 해주면 form안에 값들을 한 번에 전송 가능한 data로 만들 수 있어 많은 data를 보낼 때 유용하다. (Ajax가 아닌 다른 상황에서도 사용할 수 있음.)..
lookingfor.tistory.com
'Front-end' 카테고리의 다른 글
[Javascript] var와 let와 const 차이 그리고 var 변수 단점 (1) | 2023.10.03 |
---|---|
[JavaScript] 연산자의 우선순위 (0) | 2023.04.27 |
[JavaScript] 즉시 실행 함수 (IIFE) (0) | 2023.04.20 |
[JavaScript] JavaScript vs ECMAScript 차이 (0) | 2022.04.07 |
[JavaScirpt] DOM 트리 (0) | 2022.03.31 |