У меня есть страница JSP, которая отображает блок HTML.При обычном использовании я загружаю содержимое JSP с помощью AJAX (в частности, jQuery.load()
) и вставляю его на страницу.Теперь мне нужно иметь возможность загрузить этот блок HTML в другой домен, что означает, что ограничения из одного источника не позволят мне использовать «обычный» AJAX.
Этот блок включается в несколько местнекоторые из которых будут в том же домене, а некоторые в других доменах.Я бы предпочел, чтобы он продолжал работать так, как работает в настоящее время, если только не передан определенный параметр (по всей вероятности, это будет функция обратного вызова, передаваемая для поддержки JSONP).
Мое концептуальное решение (таким образом,far) - выводить JSONP с одной парой KEY / VALUE, имеющей полный HTML-вывод в качестве VALUE.
ПРОБЛЕМА: Я не могу найти какой-либо способ получить буферизованный вывод, который ожидаетотправляется, когда JSP заканчивает рендеринг и изменяет его (в этом случае, чтобы заменить новые строки на «\ n». Без этого я получаю ошибку Unterminated String Literal
, когда моя функция JSONP достигает первой новой строки.
ПРИМЕР:
<%@page contentType="text/html"%>
<%
String callback = request.getParameter("callback");
%>
<% if(callback != null) { %>
// JSONP Function call, defining Key/Value Pair
// New lines break because JavaScript strings cannot cross lines
<%= callback %>({"key":'
<% } %>
<div id="my_content">
...
</div>
<% if(callback != null) { %>
'}) // End of JSONP Function Call
<% } %>