接收請求,該servlet -無法在Ajax響應中獲取價值
Gson gson = new Gson();
JsonObject myObj = new JsonObject();
LoginBean loginInfo = getInfo(userId,userPwd);
//System.out.println("00000000-----------"+loginInfo.userId);
JsonElement loginObj = gson.toJsonTree(loginInfo);
if(loginInfo.getUserId() == "GUEST!"){
myObj.addProperty("success", false);
}
else {
myObj.addProperty("success", true);
}
myObj.add("login", loginObj);
System.out.println(":::::"+myObj.get("success"));
out.println(myObj.toString());
out.close();
這裏是js文件-----
function loadScript(url, callback)
{
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
script.onreadystatechange = callback;
script.onload = callback;
head.appendChild(script);
}
loadScript("js/json2.js", myJSCode);
var myJSCode = $(document).ready(function() {
$("#loginForm").submit(function(e){
e.preventDefault();
});
$("#login").click(function(e){
dataString = $("#loginForm").serialize();
var id = $("input#id").val();
var pwd = $("input#pwd").val();
dataString = "id=" + id + "&pwd="+pwd;
$.ajax({
type: "POST",
url: "login",
data: {
id : id,
pwd : pwd
},
dataType: "json",
success: function(data, textStatus, jqXHR) {
if(data.success){
$("#ajaxResponse").html("");
$("#ajaxResponse").append("<b>Welcome</b> " + data.login.id + "<br>");
//alert("#ajaxResponse" + data.login.id);
alert(data['id']);
alert(data['pwd']);
}
else {
$("#ajaxResponse").html("<div><b>Login Credentials are invalid!</b></div>");
}
}
});
我收到ajaxResponse如果我要與1元素即'ID',但是當我試圖得到這兩個響應我得到的價值作爲未定義。我已經嘗試data.login.id & data [id],但無法獲得所需的輸出。任何幫助將不勝感激。即使我已經嘗試過使用JSON.Stringify()。
您可以添加原始響應嗎?如果我無法看到響應,則無法說明代碼有什麼問題。 – 2015-02-11 09:08:45
我只是'undefined'
– Vishu 2015-02-11 09:11:14我知道,但在Ajax響應中的數據的價值是什麼? 在函數中傳遞的值(data,textStatus,jqXHR)? 添加console.log(數據)並在控制檯窗口中可以看到它。 – 2015-02-11 09:12:31