문제가 있습니다. 내 서블릿에 전화를 걸려면 jQuery JSONP를 사용하는 양식을 제출해야합니다. 이 코드는 다른 도메인에 포함되어 있으므로 사용법이 다릅니다. 여기 자바 서블릿 응답에서 HTML 형식의 JSONP 렌더링
은 내 양식은 AJAX를 제출한다 :
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js' type='text/javascript'></script>
<script language='Javascript' type='text/javascript'>
$(\"#form1\").submit(function(event) {
event.preventDefault();
var $form = $(this),
choice2 = $form.find('input[name=\"personChoice\"]').val(),
url = $form.attr('action'),
$.ajax({
data: {choice:choice2},
url: url,
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'updatePage'
});
});
function updatePage(renderHTML) {
alert(renderHTML);
}
</script>
나는 request.getParameter가 ("콜백") updatePage으로 채워집니다 내 자바 서블릿에서 확인할 수 있습니다. Java Servlet 내에서 JSONP 형식의 응답을 되돌려 보내야합니다. 어떻게 그 일을합니까?
자바 서블릿 코드 : 나는 현재이 같은 정말 간단한 일이 나는 또한 JSON 콘텐츠 형식의 응답을 시도
response.setContentType("text/javascript");
PrintWriter out = response.getWriter();
String renderHTML = "{ renderHTML = 'Successful'}";
out.println(renderHTML);
를 내 자바 스크립트 updatePage의 경고가 호출되지 않습니다.
jsonpCallback에서 자바 서블릿과 응답을 통한 트릭이 무엇입니까 ???
의견을 주셔서 감사합니다 - 세미 콜리어를 트리거하려면 콜백 문자열이 필요합니다. 성공 아약스 속성에 대해 읽었습니다. – user82302124
흠. 이것은 부분적으로는 경험이 없지만 jsonpCallback을 만들 때 해당 콜백 매개 변수를 필터의 '트리거'로 사용하고 싶습니다. 콜백 매개 변수가 무엇인지에 관계없이 (해당 내용과 관계없이) 해당 콜백 메소드 (이 경우 updatePage)에 대한 JSON 응답을 렌더링하려고합니다. 그 방법에 대한 경고를 볼 수 있으므로 전화가 다시 돌아 오는 것을 알 수 있습니다. 지금 내가 가진 문제는 전체 HTML 태그가 지정된 문자열을 가져 와서 div에서 업데이트를 응답으로 다시 전달하는 것입니다. Stringfy를 사용해야합니까? – user82302124
마지막 한 개의 댓글 - 해당 콘텐츠 유형은 내가 가지고있는 한 가지 문제를 해결 한 것으로 보입니다. 감사! – user82302124