2011-05-07 87 views
0

我有一個問題,我將數據從一個servlet返回到一個AJAX函數,在這個函數中,我想比較response.Text與一些字符串,例如x,但它不會比較它。我有以下代碼;如何比較response.Text與ajax中的某些字符串

function ajaxhandler() 
{ 
    tableHtml=response.Text 
    if(tableHtml=='true') 
     alert("Valid Move"); 
    else 
     alert("invalid move") 
} 

但這沒有提醒任何東西。

在我的servlet中,我已經這樣做了;

void myfunction(HttpServlet request,HttpServlet response) 
{ 
String user=(session.getAttribute("user")); 
if(user=="john") 
out.println("true"); 
else 
out.println("false"); 
} 
+0

小心與我們分享'response.Text'是什麼? (它等於什麼) – Zirak 2011-05-07 21:03:57

+0

如果您使用的是XMLHttpRequest,並且例如您的XMLHttpRequest對象被稱爲'xhr',引用響應文本的正確方法是'xhr.responseText' – ampersand 2011-05-07 21:16:26

+0

實際上是獲取responseText中的數據,但數據M越來越沒有比較在JavaScript中,因爲我已經在上面的例子中提到 – user1032283 2011-05-07 21:19:20

回答

0

請發表結果console.log(JSON.Stringify(response));。我相信你沒有發送正確的JSON響應。試試這個:

JSONObject jsonResponse = new JSONObject(); 
if(user.equals("john")) 
    jsonObject.put ("Text", "true"); 
else 
    jsonObject.put ("Text", "false"); 
out.println(jsonObject.toString()); 
+0

任何其他方法比JSON M不使用JSON我有一個非常簡單的項目的JSP和AJAX,但我被卡在這裏.......... – user1032283 2011-05-07 21:39:05

+0

@john好吧,你仍然沒有發佈響應文本的樣子... – Aleadam 2011-05-07 21:52:18

+0

我想我已經提到過它,它來自out.println(「true」) – user1032283 2011-05-07 21:56:43