Моя система запускает некоторые MySQL-запросы в PHP для извлечения данных. Данные, которые извлекаются структурирован в виде массива, аналогичной ниже:Прохождение угловой скобки в шестнадцатеричном виде через JSON AJAX от PHP до JS
$ret = array(
"name" => "John Doe",
"location" => "Antarctica",
"description" => "Height < 200"
);
я вернуть это через AJAX с помощью:
echo json_encode($ret);
событие ошибки АЯКС обжигают и после осмотра возвращенных данных (jqXHR .responseText) через консоль Chrome, я замечаю:
"description" : "Height \x3c 200"
, который бросает ошибку синтаксического анализа.
Я знаю, что \ x3c является шестнадцатеричным представлением «<» и, по-видимому, эта форма делает JSON недействительным. Кажется, я не могу найти способ сделать так, что я могу передать угловой кронштейн через JSON в действующей форме. Прямая замена строки «\ x3c» на стороне PHP не работает.
Кроме того, я знаю, что указание возврата AJAX как HTML будет работать, но я передаю набор данных, следовательно, использование JSON.
Я использую сторонний контроль JS, так что я не имею возможности манипулировать AJAX-возвращаемые данные с помощью методов, таких как JSON.stringify(). Однако модификаторы json_encode() работают как шарм :) – kaspnord