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

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

QA

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

답변 2

본문

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로 하니 같은 값이 나오네요.
소스를 주밀하게 살펴봤어야 했는데 제 실수네요.


답변 고맙습니다.

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

해결하였습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61
© SIRSOFT
현재 페이지 제일 처음으로