홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송 메인홈 1대1상담
운.영.자.1대1.상담
온라이브 음악방송
음악방송 앱 다운로드
OKTROT(무료음악채널)
뽕짝아가씨(무료음악채널)
아리랑가요(무료음악채널)
전통가요(무료음악채널)
보안∵서버∵쿠키
윈도우∵프레임
이미지∵배경
시간∵달력∵계산
상태바∵타이틀바
음악∵영상
폼∵전송∵테이블
키보드∵마우스
효과∵링크∵메뉴
Script∵php
기타
PHP 강좌
윈도우관련팁
웹관련팁
홈페이지제작팁
기본강좌
레지스트리
윈도우서버
리눅스서버
Android
jQuery.param(), Ajax 데이터용 배열이나 객체를 직렬화
4년 전
개요 : URL 쿼리 스트링 또는 Ajax 요청에 사용할 수 있도록 배열이나 객체를 직렬화 합니다.

jQuery.param( obj )
obj 배열 또는 객체
jQuery.param( obj, traditional )
obj 배열 또는 객체
traditional 얕은 수준(Shallow) 직렬화 지원 여부를 결정하는 Boolean 값
이 함수는 폼 요소들의 값을 변환하여 직렬화된 문자열로 표현합니다.
jQuery 1.3 까지는 함수 문자열 대신 함수의 반환값을 사용했습니다. ( the return value of a function is used instead of the function as a String ).
jQuery 1.4 부터는, $.param() 함수는 PHP나 Ruby on Rails와 같은 프레임워크와 최신의 스크립트들을 수용하기 위해 중첩 객체 직렬화를 사용하게 되었습니다. 만일 이 기능을 원하지 않는다면 전역설정인 jQuery.ajaxSettings.traditional = true;와 같이 세팅하면 됩니다.
만일 배열을 전달한다면, .serializeArray()에 의해 반환되는 형식 개체의 배열 이어야 합니다.
[{name:"first",value:"Rick"},
{name:"last",value:"Astley"},
{name:"job",value:"Rock Star"}]
Note: 만약 직렬화 배열을 파싱하는데 제한이 있는 어떤 프레임워크를 사용하게 된다면, 개발자는 개체 또는 다른 배열 내에 중첩 배열을 포함하는 obj 인수를 전달할 때 각별히 주의해야 합니다.
Note: param 문자열에 대한 보편적으로 합의된 사양은 없기 때문에, 이 함수를 사용하여 모든 language들을 지원하는 방식의 복잡한 데이터 구조를 인코딩 할 수 없습니다.
jQuery 1.4에 와서, HTML5 의 input 요소들도 직렬화 할 수 있습니다.
아래와 같이 쿼리스트링을 만들수도 있고 URI-decoded 도 할 수 있습니다.
var myObject = {
  a: {
    one: 1,
    two: 2,
    three: 3
  },
  b: [1,2,3]
};
var recursiveEncoded = $.param(myObject);
var recursiveDecoded = decodeURIComponent($.param(myObject));

alert(recursiveEncoded);
alert(recursiveDecoded);
recursiveEncoded 와 recursiveDecoded 는 아래와 같이 알림창에 나타납니다.
a%5Bone%5D=1&a%5Btwo%5D=2&a%5Bthree%5D=3&b%5B%5D=1&b%5B%5D=2&b%5B%5D=3
a[one]=1&a[two]=2&a[three]=3&b[]=1&b[]=2&b[]=3
$.param() 함수를 jQuery 1.4 이전 버젼 형태로 사용하길 원하면, traditional 인자를 true로 설정해야 합니다.
var myObject = {
  a: {
    one: 1,
    two: 2,
    three: 3
  },
  b: [1,2,3]
};
var shallowEncoded = $.param(myObject, true);
var shallowDecoded = decodeURIComponent(shallowEncoded);

alert(shallowEncoded);
alert(shallowDecoded);
shallowEncoded 와 shallowDecoded 는 아래와 같은 결과를 보여줍니다.
a=%5Bobject+Object%5D&b=1&b=2&b=3
a=[object+Object]&b=1&b=2&b=3
예 제  
key/value 객체로 직렬화 합니다.
<!DOCTYPE html>
<html>
<head>
  <style>div { color:red; }</style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <div id="results"></div>
<script>

    var params = { width:1680, height:1050 };
    var str = jQuery.param(params);
    $("#results").text(str);
</script>

</body>
</html>

예 제   조금 복잡한 형태의 직렬화
// <=1.3.2:
$.param({ a: [2,3,4] }) // "a=2&a=3&a=4"
// >=1.4:
$.param({ a: [2,3,4] }) // "a[]=2&a[]=3&a[]=4"

// <=1.3.2:
$.param({ a: { b:1,c:2 }, d: [3,4,{ e:5 }] }) // "a=[object+Object]&d=3&d=4&d=[object+Object]"
// >=1.4:
$.param({ a: { b:1,c:2 }, d: [3,4,{ e:5 }] }) // "a[b]=1&a[c]=2&d[]=3&d[]=4&d[2][e]=5"

Ajax로 데이터를 만들어서 보낼 때 필요한 함수네요. 1.4 버젼 부터 멋지게 변했습니다. form에 있는 데이터를 꺼내서 이 함수를 태우면 쿼리스트링을 만들어 준다니까 잘 사용하시기 바랍니다.
추천추천 : 158 추천 목록
번호 제목
3,025
 여러 도메인들 간 쿠키 공유하기
3,024
 태그 사이에 있는 텍스트를 추출
3,023
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,022
 쿠키 생성,가져오기,삭제
3,021
 사용자 함수 모음
3,020
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,019
 [HTML5] <video> - DOM으로 제어하기
3,018
 HTML5 video 태그에서 영상 좌우반전
3,017
 PHP - 특정 태그 및 문자열 추출, 제거
3,016
 [PHP] define과 defined의 차이
3,015
 우클릭 완벽차단 스크립트
3,014
 iframe 높이 100% 맞추기
3,013
 curl 함수를 이용한 HTTP REFERER 변경
3,012
 윈도우10 시스템 파일 및 Dism 검사
3,011
 텍스트 줄바꿈, 글자자르기 CSS
3,010
 jQuery Mobile에서 유용한 코드 10가지.
3,009
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,008
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,007
 [jQuery] jQuery Quick API
3,006
 [ transition ] 링크 hover 색상 변화 속도 조절
3,005
 PHP 5.3.0 에서 사라진 함수들 대체
3,004
 어떤 파일들이 include 나 require 되었는지 확인하는 함수(get_included_files)
3,003
 PHP 날짜 형식 및 계산하기(날짜 더하고 빼기)
3,002
 jQuery Mobile에서 유용한 코드 10가지.
3,001
 값이 배열 안에 존재하는지 확인하는 in_array함수
목록
추억의가요방
인기절정뽕짝파티
인기트로트모음
지루박디스코메들리
밤무대애창곡
전자올겐경음악
세월따라노래따라
가슴시린트로트
7080추억속으로
CDN 추천곡
종합성인가요방
못잊을옛날노래
카바레 음악
트롯디스코팡팡
관광 메들리
트롯카페
가요감상실
추억의옛노래
스페셜가요광장
BillBoard Free
추천가요모음
경음악.전자올겐
스페셜음악여행
WOLRD POPs
K-POP\BillBoard
POP TOP BEST

최신인기가요특집
추천가요\인기
F뮤직 인기\발라드
F뮤직 애창\트로트
트로트성인가요
인기가요
프리미엄 POP
경음악\기타
프리미엄 최신가요
프리미엄 성인가요
뮤직트로트 부산광역시부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.