我正在一个简单的tomcat web应用程序上工作。如果此用户名已经注册,客户端只需将json中的用户名数据发送到服务器端和服务器端返回。 这是我的代码。ajax POST不能发送数据到servelet
AJAX部分:
var udata = new Array();
udata.push({ name: uname});
$.ajax({
url: '/TestProj/Controller?action=checkuname',
type: 'POST',
dataType: 'json',
data: udata,
//contentType:'application/json, charset=utf-8',
success: function(data){
checkstatus = data.status;
},
error: function(x,y,z){ console.log(JSON.stringify(x)); }
});
servlet的一部分: 我使用一个控制器来派遣检查名的servlet请求。
String username = request.getParameter("name");
if (checkuser(username)){
status = "false";
}else{
status = "true";
}
response.setContentType("application/json");
PrintWriter o = response.getWriter();
o.println("{\"status\":\""+status+"\"}");
//o.println("{\"status\":\""+username+"\"}");
我尝试打印出“status”和“username”的内容,但它们都是null。这是否意味着我没有成功通过ajax发送数据给servlet。我可能会弄乱json数据部分。 任何帮助将不胜感激。
更新: 我将ajax部分更改为此,它的工作原理。有人能让我知道如何以json的方式做到这一点?
AJAX部分:
var udata = new Array();
udata.push({ name: uname});
$.ajax({
url: '/TestProj/Controller?action=checkuname&uname='+uname,
type: 'POST',
dataType: 'json',
data: udata,
//contentType:'application/json, charset=utf-8',
success: function(data){
checkstatus = data.status;
},
error: function(x,y,z){ console.log(JSON.stringify(x)); }
});
我知道,那不是评论,但我真的要感谢你对所有的这些详细的说明。它可以节省我大量的时间来自己解决问题。 – SCV 2014-10-09 15:23:22
很高兴帮助。祝你好运。 – Tap 2014-10-09 15:38:41