2011-05-07 89 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