자바스크립트의 serialize()와 같은 결과 나오는 PHP의 함수 질문

자바스크립트의 serialize()와 같은 결과 나오는 PHP의 함수 질문

QA

자바스크립트의 serialize()와 같은 결과 나오는 PHP의 함수 질문

본문

AJAX로 값을 보낼때 FORM의 값들들 serialize() 함수 이용해서 보내자나요~

예를 들어 "아크릴" 문자열은 serialize()를 거치면 "1%7C%EC%95%84%ED%81%AC%EB%A6%B4" 이렇게 나오는데요.

PHP로 "아크릴"을 "1%7C%EC%95%84%ED%81%AC%EB%A6%B4" 이런 결과 얻으려면 어떻게 해야 할까요?

 

urlencode() rawurlencode() 를 이용하면 "%EC%95%84%ED%81%AC%EB%A6%B4" 이렇게 나오네요~

 

자바스크립트의 serialize()와 같은 결과를 PHP로 얻는 방법이 궁금합니다.

이 질문에 댓글 쓰기 :

답변 2


<script>
function insert_tag()
{
    $.ajax({
        url: "aaa.php",
        type: "POST",
        data: {
            ssd: "yes",
            data: $("#form_insert").serialize()
        },
        dataType: "JSON",
        success: function (jsonStr) {
            $("#result1").html(jsonStr['back_message']);
        }
    });
}
</script>
<form id="form_insert">
    <input type="text" name="f1" value="a"/>
    <input type="text" name="f2" value="b"/>
    <input type="text" name="f3" value="c"/>
    <input type="text" name="f4" value="d"/>
    <div onclick="insert_tag();"><b>OK</b></div>
    <div id="result1">...</div>
</form>

 

이렇게 보낸다고 하면

받아주는 .php 파일에서


<?php
if(isset($_POST['data']))
{
    parse_str($_POST['data'], $searcharray);
    $data = array(
        "back_message"   => $searcharray['f1']
    );
    echo json_encode($data);
}
?>

 

그누위즈님 답변 고맙습니다.
제가 착각하여 질문을 잘못한것 같아요.


글로 설명하기 참 애매한 상황인데요.

ajax로 "아크릴" 선택한 결과를 관리자 화면에서 클릭으로 같은 페이지를 불러와야 하는 상황입니다.

ajax화면에서는 "1|아크릴"을 넘겨서 "1%7C%EC%95%84%ED%81%AC%EB%A6%B4" 이고~
관리자 화면에서는 "아크릴"을 넘겨서 "%EC%95%84%ED%81%AC%EB%A6%B4"가 나와서 "아크릴" 선택했을때 화면이 나오지 않아 헤맸던거였어요.

ajax화면에서는 "1|아크릴"
관리자 화면에서는 "아크릴"

관리자 화면에서도 "1|아크릴"을 urlencode로 하니 같은 값이 나오네요.
소스를 주밀하게 살펴봤어야 했는데 제 실수네요.


답변 고맙습니다.

제가 질문을 잘못하였네요.

해결하였습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 61
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT