【发布时间】:2020-03-17 08:15:50
【问题描述】:
在我的 .JSP 文件中:
<form id="form">
<input type="text" name="name" id="name"><br><br>
<input type="text" name="address" id="address"><br><br>
<input value="Submit" type="submit" onclick="submitform()">
</form>
<p id="result"></p>
</body>
我的 Javascript 函数是:
function submitform(){
var userName = $('#name').val();
var userAdd = $('#address').val();
var myVar = JSON.stringify({name: userName, address:userAdd});
$ajax({
url: 'jsonserverlet',
type: 'POST',
data: 'per=' + myVar,
dataType: 'json',
success:function(data){
var json= JSON.stringify(data);
alert(json + " " + data.name + " " + data.address);
$("#result").html(data.name + " " + data.address);
}
});
};
我还创建了一个带有一些数据的新类 User.java,然后在我的 Jsoncontent.java 中,在方法 POST 中我设置了我的变量并创建了一个这样的 json 请求:
String jsonData = request.getParameter("per");
System.out.println(jsonData);
Gson gson = new Gson();
User data = gson.fromJson(jsonData, User.class);
System.out.println("Fetching json object");
String name = data.getName();
String address = data.getAddress();
System.out.println("User Name: "+ name );
System.out.println("User Address: "+ address );
User user = new User();
user.setName(name);
user.setAddress(address);
String jsonObj = gson.toJson(user);
System.out.println(jsonObj);
out.print(jsonObj);
所以,所有工作都没有错误或警告,但是当我单击提交按钮时我看不到结果。我不知道为什么。
【问题讨论】:
-
您是否调试过您的代码或至少使用一些日志语句来查看 servlet 是否已被调用以及 JavaScript 代码是否完全运行?
-
是的,我已经尝试使用 try 和 catch 方法向我返回一些东西,但没有任何反应。是的,servlet 已被调用
-
好的。您已经发布了代码片段,如果没有更广泛的上下文,没有人可以提供帮助。发布完整的 jsp 和服务器端处理程序。
标签: javascript java json forms jsp