내 시스템은 PHP에서 데이터를 검색하기 위해 일부 MySQL 쿼리를 실행합니다. 아래에 배열과 유사한 구조화되고 검색되는 데이터 : PHP에서 JS로 JSON AJAX를 통해 16 진수로 꺾쇠 괄호를 전달
$ret = array(
"name" => "John Doe",
"location" => "Antarctica",
"description" => "Height < 200"
);
내가 통해 AJAX 통해이를 반환 :
echo json_encode($ret);
는 AJAX 오류 이벤트가 발생하고, 리턴 된 데이터의 검사시 (jqXHR .responseText). Chrome 콘솔을 통해 알 수 있습니다.
"description" : "Height \x3c 200"
구문 분석 오류가 발생합니다.
그 \ x3c는 "<"의 16 진수 표현이며 그 양식은 JSON을 유효하지 않게 렌더링합니다. 유효한 양식으로 JSON을 통해 각진 대괄호를 전달할 수있는 방법을 찾지 못하는 것 같습니다. PHP 측에서 "\ x3c"의 직접 문자열 바꾸기가 작동하지 않습니다.
또한 AJAX 리턴을 HTML로 지정하면 작동하지만 데이터 세트를 전달하므로 JSON을 사용합니다.
나는 내가 (JSON.stringify 같은 방법을 통해 AJAX-반환 된 데이터를 조작 할 수있는 기회가없는 타사 JS 제어를 사용하고 있습니다) 더 좋아. 그러나 json_encode() 수정자는 매력처럼 작동합니다. :) – kaspnord