2011-08-04 4 views
0

jquery를 배우고 있습니다. true 또는 false를 제공하는 json 덤프 "/ check_email_exists"를 제공하는 URL이 있습니다. 이것은 주로 jsondump의 HttpResponse입니다.

json true 또는 false를 기준으로 true 또는 false를 제공하는 Javascript 함수를 작성하는 방법을 알려주십시오.

나는 이것이 올바른 방법 working.What입니다하지 않습니다 분명히이

function ifEmailExists(email) 
{ 

    return $.getJSON("/check_email_exists/" + email); 
} 

를 시도?

편집

나는 또한 getJSON 문서에서이

function ifEmailExists(email) 
{ 
    $.getJSON("/check_email_exists/" + email), function(data) 
    { 

      return data; 


    } 
}; 

아니 성공을

답변

1

을 시도 :

이 속기 아약스 기능이

AJAX는 비동기입니다 (첫 번째 A). 이는 결과가 즉시 반환되지 않음을 의미합니다. getJSON에서 반환 된 데이터로 무언가를하고 싶다면 성공 함수 인 다른 매개 변수를 사용해야합니다. 이 함수는 요청에 대한 응답이 반환 될 때 발생합니다. 함수가 실행을 완료 할 때 아직 들어오지 않았으므로이 응답을 함수에서 반환 할 수 없습니다.

응답을 절대적으로 차단하고 대기해야하는 경우 getJSON 대신 $.ajax을 사용하고 async 매개 변수를 false로 설정할 수 있습니다. 그러면 호출이 응답을 기다리게됩니다. 이것은 일반적으로 나쁜 생각이므로 비동기 동작을 사용하여 동일한 기능을 사용할 수있는 방법이 있는지 고려하고 싶을 것입니다. async: false을 사용하면 브라우저가 응답을 기다리는 동안 응답하지 않습니다. 이 응답에 돌아 오는 데 시간이 걸리는 경우 대부분의 경우 사용자 경험이 좋지 않습니다.

+0

한 거짓 그냥 제안하지'비동기 확인 : false'. –

+0

나는 당신이 말하는 것을 이해하기 시작했지만 json을 통해 부울을 읽은 다음 javascript 부울 변수로 제공하는 방법 – ramdaz

+0

두 번째 예제에서, 해당 함수에서 반환 된'data'는 표현 된 객체입니다 귀하의 JSON에 의해. 해당 객체에 부울 변수가 들어 있으면 액세스 할 수 있습니다. 더 구체적인 답변을 얻으려면 JSON을 제공해야합니다. –

0
$.getJSON("/check_email_exists/" + email), function(data) { 
    alert(data); 
}); 

데이터가 부울 값만 검색하면이 값을 가져올 수 있습니다. True 또는 False로 경고해야합니다. 그것은이 [object Object] 같은 경고 경우 data 객체이고 exists 해당 개체의 한 분야입니다

은, 그것은,이 경우이 alert(data.exists)를 사용하여 필드 이름을 가진 개체를 retrievs.

당신은 참 또는 거짓 반환과 같은 기능을 할 수
0

당신에

<script src="js/jquery/jquery-1.10.2.js"> 

function ifEmailExists(email) 
{ 
    var res=true; 
    var result = $.ajax({ 
    type:"GET", 
    url : "check_email_exists", 
    data: {email: email}, 
    dataType : "text", 
    async:false 
    }); 
result.done(function(resp){ 
    if(resp=="false") 
     { 
     res=false; 
     alert("Not Found"); 
     } 
    return resp; 
}); 
return res; 
} 

확실 http://localhost:8080/yourapp/check_email_exists 반환 true 또는 비동기 요청에 대한 경고를주는