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개 / 댓글 2개
PIREE
7년 전
제가 질문을 잘못하였네요.
해결하였습니다.
답변에 대한 댓글 1개
7년 전
Copy
<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 파일에서
Copy
<?php
if(isset($_POST['data']))
{
parse_str($_POST['data'], $searcharray);
$data = array(
"back_message" => $searcharray['f1']
);
echo json_encode($data);
}
?>
답변에 대한 댓글 1개
PIREE
7년 전
그누위즈님 답변 고맙습니다.
제가 착각하여 질문을 잘못한것 같아요.
글로 설명하기 참 애매한 상황인데요.
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로 하니 같은 값이 나오네요.
소스를 주밀하게 살펴봤어야 했는데 제 실수네요.
답변 고맙습니다.
제가 착각하여 질문을 잘못한것 같아요.
글로 설명하기 참 애매한 상황인데요.
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로 하니 같은 값이 나오네요.
소스를 주밀하게 살펴봤어야 했는데 제 실수네요.
답변 고맙습니다.
답변을 작성하려면 로그인이 필요합니다.