liq
@liq

JQuery, JSON, iframe и кавычки вместе не работают?

Произвожу upload файла в iframe(по другому вроде никак). В качестве ответа генерирую JSON объект где одно из полей это строчка с html описывающим ошибку.

Вопрос: Как мне забрать этот ответ от сервера его не побив?



Когда использую .text() из JQuery все теги удаляются.

Когда использую .html() из JQuery он «исправляет» html и после этого не возможно сделать десериализацию JSON потому-что кавычки теряют экранирующий символ. получаем Invalid JSON.
  • Вопрос задан
  • 3627 просмотров
Решения вопроса 1
@lugansk
Попробуйте на сервере перед отправкой клиенту HTML кодировать urlencode, на клиенте javascript’ом декодируйте через decodeURI или unescape.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Nc_Soft
Как вы генерите и получаете json?
Для вот таких данных
{"html":"<a href=\"#\">!!!<\/a>"}

с использованием getJSON все отображается нормально

<html>
<head>
<script type="text/javascript" src="http://yandex.st/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
	$.getJSON('j.php', '', function (data) {$('body').html(data.html);});
}
);
</script>
</head>
<body>
</body>
</html>
Ответ написан
@zibada
отдавать в iframe не json, а полноценный html + javascript:
<script>parent.callback_func({json: "data"});</script>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы