基本上我有一个用户名文本框,当用户输入它需要的值时,将它发送给服务器和服务器检查数据库,如果用户名可用,如果是,那么服务器需要回复客户端成功,所以客户端可以理解用户名可用并将框边框颜色变为绿色。
我的jquery ajax代码,客户端:
$(document).ready(function() {
$('#Registeration_Username_box').on('input', function() {
postUsernameToServer();
});
function postUsernameToServer() {
var formData = {
'username': $('input[name=UserName]').val(),
};
// process the form
$.ajax({
type: 'POST', // define the type of HTTP verb we want to use (POST for our form)
url: '../dusernameavailable', // the url where we want to POST
data: formData, // our data object
dataType: 'json', // what type of data do we expect back from the server
encode: true,
contentType: "json",
success: function(response){
// we have the response
if(response.status == "SUCCESS"){
alert("We received: " + response);
}else{
alert("Could not received data");
}
},
error: function(e){
alert('Error: ' + e);
}
}).done(function(data) {
console.log(data);
});
}
});
servlet服务器代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
String str = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
System.out.println(str);
out.println(str);
}
仅仅是出于测试目的,我已经让服务器回复了接收到客户端的数据,所以我知道我们实际上可以发送和接收数据。
但是在我的客户端除了弹出框之外说服务器发送的数据我收到错误弹出框说"错误:[对象对象]"。