在我的JSP(index.jsp)中,我提交了一个使用JSON将Parameters传递给另一个JSP(action.jsp)的表单。
<form id="form">
<input type="text" name="name"/>
<input type="button" id="btn" value="OK"/>
</form>
这是index.jsp的Jquery代码:
$(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,但无法在index.jsp中获取值“generatedString”。
更新:index.jsp始终在警告中显示错误:“无法添加”。 尝试在评论中说了什么,但没有提出成功的消息。
答案 0 :(得分:0)
如果您想从jsp页面发送回复,可以使用out.println()
。
<%
String jsonString= request.getParameter("name");
String generatedString = "E5142";
out.println(generatedString);
%>
在你的jquery中,你可以使用alert(msg)
;
但是你的问题是关于action.jsp url path或jsp文件。因为你在jquery发送动作时遇到错误!在谷歌浏览器中打开您的控制台(按F12 )。发送您的操作,您可以在控制台上看到错误。如果您收到“ 404错误”,则表示路径错误。如果您收到“ 500错误”,则表明这是一个jsp文件错误。控制系统日志以了解正在进行的操作。
你可以试试这个:
var name = $("input[name=name]").val();
var url = "action.jsp";
$.post(url,{name:name})
.done(function(data){
alert(data);
})
.fail(function(){
console.log('fail');
});