В моем JSP (index.jsp) я представляю форму, которая передает параметры другому JSP (action.jsp) с использованием JSON.Получение значения JSON в JSP
<form id="form">
<input type="text" name="name"/>
<input type="button" id="btn" value="OK"/>
</form>
А вот Jquery кодекс index.jsp:
$(document).ready(function(){
$("#btn").click(function(){
var name = $("input[name=name]").val();
$.ajax({
cache:false,
url:"action.jsp",
data:{name:name},
contentType:"application/json; charset=utf-8",
dataType:"json",
success:function (msg) {
alert("SUCCESS");
// here I want a String that is
// generated(generatedString) in action.jsp.
});
}
},
error:function() {
alert("Unable to add.");
}
});
});
});
Мой код action.jsp:
<%
String name = request.getParameter("name");
String generatedString = "E5142";
response.setContentType("application/json");
out.print(generatedString);
%>
Форма представляется успешно action.jsp, но не может получить значение «generatedString» в index.jsp взамен.
UPDATED: index.jsp всегда показывает ошибку в предупреждении: «Невозможно добавить». Пробовал, что говорится в комментариях, но не придумал сообщение об успешном завершении.
Я не знаю, JSP, но это выглядит как вы просто определяя переменные не печатая их? Вам нужно распечатать строку в json. – mindore
В action.jsp попробуйте добавить еще одну строку 'out.print (generatedString)'. Затем внутри вашего обратного вызова 'success' замените' alert («SUCCESS») 'на' alert (msg) ' – pmahomme
См. Этот [аналогичный вопрос] (http://stackoverflow.com/questions/26279339/ajax-post-cannot- send-data-to-servelet/26280336 # 26280336) – Tap