2016-12-25 4 views
0

상당히 새로운 기능입니다. 나는 3 개의 아약스 함수를 가진 "getInformation"이라는 함수를 가지고있다.Jquery에서 if 문이 실패한 경우 함수 호출

여기에 표시된 성공 함수에서 if 문이 실패하면 "getInformation"함수를 호출하거나 트리거하려고하지만 어떤 선택기를 사용할 지 (또는 선택기가 필요한지조차도 알지 못합니다).

success: function(serverResponse){ 
      if(serverResponse.length>1){ 
       try{ 
        var searchResultsHTML=''; 
        console.log(serverResponse); 

        $("#searchResults").append(searchResultsHTML); 
       }catch (ex) { 
         console.error(ex); 
         $("#searchResults").text("An error occurred processing the data"); 
       } 
      } else{ 
        //run the other ajax calls 
        $.fn.getInfortmation(); 
      } 
+0

'getInformation' 함수는 요소 조작 함수 또는 일반 함수와 관련이 있습니다. 그것이 정상적인 함수라면'callback' 접근법이나 jquery'promise' 접근법을 사용하십시오. 또는 여기에 getInformation 함수를 추가 할 수 있으므로 이해하기 쉽습니다. –

+0

그래서 작동하지 않는 것은 무엇입니까? 이름의 철자가 잘못되었지만 이미 함수에 대한 호출이 있습니다. – Pointy

+0

어떻게 함수를 선언했는지 모르겠지만'$ .fn.'이 필요 없다고 생각하면'getInformation() '을 호출하십시오 – Taki

답변

0

나는 당신이 jQuery에서 $의 의미를 오해하고 있다고 생각합니다. 이것은 실제 라이브러리의 모든 기능을 포함하는 클래스 (또는 일부 JS 상당 소유자) 인 jQuery에 대한 일종의 속기 또는 별칭입니다.

그냥 jQuery 콜백 (success 핸들러) 내에 코드를 작성했기 때문에 jQuery 함수 만 사용해야한다는 것은 아닙니다. 당신은 자신의 코드를 자유롭게 사용할 수 있으며, 나는 getInformation이 정의 된 함수 중 하나라고 생각합니다.

문제를 해결하려면 과 같은 함수를 fn.getInformation과 같이 호출하십시오. 귀하의 기능이 fn이라는 다른 개체에 있다고 가정합니다. 그렇지 않은 경우 fn도 삭제하십시오.

선택자가가는 한, 다른 주제입니다. 그것들은 코드의 페이지에서 HTML 요소를 쉽게 선택하고 작업하는 데 사용됩니다. jQuery는이 작업에 매우 유용하지만 모든 jQuery 함수가 선택기/DOM을 포함하는 것은 아닙니다. 예를 들어,이 경우에는 페이지 요소를 조작하는 것과 직접 관련이없는 AJAX를 수행하는 것일 수도 있지만, 오히려 서버에 데이터를 전달하는 것입니다.