2011-05-07 4 views
0

문제가 있습니다. 서블릿에서 AJAX 함수로 데이터를 반환하고이 함수에서 response.Text을 일부 문자열 (예 : x)과 비교하려고합니다. 그것을 비교하지 않습니다. 다음 코드가 있습니다.응답 문자열을 ajax의 일부 문자열과 비교하는 방법

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

그러나 이것은 아무 것도 경고하지 않습니다.

내 서블릿에서이 작업을 수행했습니다.

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

+0

XMLHttpRequest를 사용하고 있고 XMLHttpRequest 객체가'xhr'이라면, 응답 텍스트를 참조하는 적절한 방법은'xhr.responseText'입니다. – ampersand

+0

실제로는 responseText에서 데이터를 얻지 만 데이터 내가 위의 예제에서 언급 한대로 자바 스크립트에서 비교하지 않는다 – user1032283

답변

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을 사용하지 않는 다른 방법 JSON을 사용하지 않는다. jsp와 아약스의 매우 간단한 프로젝트가 있지만 여기에 붙어있다 .......... – user1032283

+0

@john 글쎄, 당신은 여전히 ​​응답 텍스트가 보이는 것을 게시하지 않았다 ... – Aleadam

+0

내가 위에서 언급 한 것 같아, out.println ("true")에서 온다 – user1032283

관련 문제