Проблема при извлечении текста в формате JSON, содержащего разрывы строк, с помощью jQuery
У меня странная проблема при получении текста в формате JSON. Я использую jQuerypost
отправить некоторые данные (также в формате JSON) на сервер (работает под управлением PHP), который работает нормально. Затем, когда я запрашиваю те же данные с сервера, используя jQueryget
метод обратного вызова никогда не выполняется. Это происходит только тогда, когда данные отформатированы в формате JSON, а данные содержат разрыв строки. Когда я не использую форматирование JSON, оно работает нормально. Меня сбивает с толку то, что нет проблем с загрузкой данных.
Загрузка кода: (работает)
$.post("ajax/contents_ajax.php", {
'title': caption,
'text': frameText().getContent(),
'image_id': img
},
//Callback
Скачать код: (не работает с переносами строк)
$.get("ajax/contents_ajax.php", { 'get_item': id },
function (data){
//Never gets executed if data contains line breaks
}
,'json');
Вся проблема связана с тем фактом, что редактор форматированного текста TinyMCE, кажется, настаивает на вставке разрывов строк везде, хотя я включил эту опцию
remove_linebreaks : true
Я предпочитаю иметь разрывы строк, но не если они нарушают мой код. Может кто-нибудь сказать мне, в чем здесь проблема, и, возможно, как я могу кодировать разрывы строк на сервере с помощью PHP?
ОбновитьПока предложения по замене'\n'
с''
не работал, это было близко к правильному решению. Этот код удаляет оскорбительные символы:
function parse($text){
$parsedText = str_replace(chr(10), "", $text);
return str_replace(chr(13), "", $parsedText);
}