2011-05-14 3 views
0

저는 AJAX 요청에 대한 루프를 계속 시도했지만 마지막 루프에 대해서만 AJAX 작업을 수행하고있었습니다. 그 라인을 따라크롬 확장에서 AJAX 요청에 대한 루핑이 작동하지 않습니다.

while(i<3){ 
var query = site_url+keywords[i]+'"' ; 
     $.ajax({ 
      url: query, 
      type: "GET", 
      dataType: "html" 
success: function(html) { 
var el = $(html).find("#tagID"); 
        if(el.length) { 
         console.log("Element exists"); 
         var cont = 1; 

        } 
else{ 
console.log("Element doesnt exist"); 
var cont = 0; 
} 
} 
}); 
     console.log(cont); 

     i=i+1;  
     } 
+0

-이 요소는 세 페이지의 여부를 확인하려면 포함합니까? 병렬 또는 차례로 페이지를 열시겠습니까? etc. – serg

+0

@serg 안녕하세요, 나는 요소가 존재하는 키워드를 저장하고 싶습니다. 별도의 배열이나 다른 것을 저장하십시오. 가능한? – RaviTeja

+0

당신은 발견 된 키워드의 인덱스를 가지게 될 것이므로,'result()'메서드 내에서'keywords [i]'로 발견 된 키워드를 얻을 수 있습니다. – serg

답변

1

뭔가 : 당신은 당신이 뭘 하려는지 설명해 수 있다면 또한

processKeyword(0); 

function processKeyword(i) { 
    if(i < keywords.length) { 
     var query = site_url+keywords[i]+'"' ; 
     $.ajax({ 
      url: query, 
      type: "GET", 
      dataType: "html" 
      success: function(html) { 
       var el = $(html).find("#tagID"); 
       if(el.length) { 
        //found, stop processing 
        result(i); 
       } else{ 
        //not found, process next 
        processKeyword(i + 1); 
       } 
      } 
     }); 

    } else { 
     //all processed, nothing found 
     result(-1); 
    } 

} 

function result(i) { 
    //i contains keyword index if was found, -1 otherwise 
} 
관련 문제