채택완료

ajax 이스케이프문자

2018-10-29 (월) 16:43:38 2,680

ajax로 넘기기 직전 data의 값 {"9":"abcd11","10":"abcd22","11":"abcd33","12":"abcd44","13":"abcd55"}

data : {dataObj:data} 로 넘기고

$getData = $_POST['dataObj']; 로받으니 값이

{\"9\":\"abcd11\",\"10\":\"abcd22\",\"11\":\"abcd33\",\"12\":\"abcd44\",\"13\":\"abcd55\"}

이스케이프 문자가 붙어버려서 json_decode( $getData,true ) 가 실행을 못하네요...

어떻게 해아 하나요?

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

$getData = stripslashes($_POST['dataObj']);

로 해보시면 어떨까요?

답변에 대한 댓글 2개

스트립슬래시로 해놓긴했는데 원래 이스케이프문자 붙는게 맞나요?
@bonobono
데이타를 주고받을때의 처리방식이나 패턴이 어떻게 되느냐에따라
이스케이프 문자가 붙을수 있습니다.
잘 살펴보면 내부적으로 붙이는곳이 있을겁니다

우선 받은 값을  replace함수로 변환하여 사용해보면 어떨까요?

Copy
$getData = str_replace( '\"', '', $_POST['dataObj'] );

답변을 작성하려면 로그인이 필요합니다.