我正在一個簡單的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