2013-02-28 4 views
0

Я пытаюсь вернуть backtrack код ниже. До сих пор я понимаю, что функция getResults() использует асинхронный JavaScript, но я все еще не могу понять значение переменной res и кто вызывает функцию success: function(res). Пожалуйста, направляйте. СпасибоBacktracking асинхронный JavaScript

function getResults(u) {         // function called from index page 
// alert("Inside get results");        // show that we are in 
    $.ajax({            // asynchrounous javascript starts to run 
     dataType: "jsonp",         // 
     url: u, 
     success: function(res) {       // 
       $("#status").hide();       // 
       if (res.data.length) {      // 
       nexturl = res.paging.next;     // 
        $.each(res.data, function(i,item){  // 
        if (item.id != lastid) {    // 
         lastid = item.id;     // 
         var html ="<div class=\"post\">"; // 
         html += "<div class=\"message\"><a href=\"http:\/\/www.facebook.com\/profile.php?id="+item.from.id+"\">"+item.from.name+"</a> "; 
         if (item.message) {     // 
          html += item.message+"<\/div>"; // 
         } else {       // 
          html += "<\/div>";    // 
         } 
         if (item.picture) {     // 
          html += "<div class=\"image\"><img src=\""+item.picture+"\"></div>"; // 
         } else {       // 
          html += "<div class=\"image\"><\/div>";         // 
         }; 
         if (item.link) {     // 
          html += "<div class=\"link\"><a href=\""+item.link+"\">"+item.name+"</a></div>"; // 

          if (item.caption) {    // 
            html += "<div class=\"caption\">"+item.caption+"</div>";     // 
          }; 
          if (item.description) {   // 
            html += "<div class=\"description\">"+item.description+"</div>";   // 
          }; 

         }; 

         html += "<div class=\"meta\">";               // 

         if (item.icon) {                  // 
          html += "<span class=\"icon\"><img src=\""+item.icon+"\"></span> ";     // 
         }; 
         var t = item.created_time;                // 
         var time = t.substring(0,19)+"\+00:00";             // 
         html += "<span class=\"time\">"+$.cuteTime({},time)+"<\/span> ";      // 
         html += " <\/div>";                  // 

         html +="</div>";                  // 
         $("#data").append(html) ;                // 
        } 
        }); 
        $("#more").appendTo("#data");                // 
        $("#more").show();                   // 
        $("#status").appendTo("#data");                // 


      } else {                       // 
       $("#data").append("<h3 class=\"none\">No entries found. Please try another search.</h3>");  // 
      }; 
     } 

    }); 
} 
+2

не понимаю ваш вопрос. Это стандартный вызов jQuery ajax: http://api.jquery.com/jQuery.ajax/. Используйте 'console.log' для определения значения переменной – Serjio

+0

Успех вызывается, когда вызов ajax получает результат 200 (OK), а res - данные, которые были отправлены обратно. – Archer

+0

'res' - это то, что возвращается с сервера – Jack

ответ

1

Успех вызывается автоматически, если вызов ajax завершается и заканчивается успешно (код 200). res - строка, возвращаемая сервером для вашего вызова. в этом случае, находится в формате jsonp. в этом случае, результаты.

Как вы видите, res используется как объект, как и любой другой ответ json.

0

Успех автоматически вызывается, когда запрос ajax успешно возвращается. Функция передается обратно 3 аргумента:

успеха: Function (данные PlainObject Строковый textStatus, jqXHR jqXHR)

0

Это стандартный JQuery AJAX вызова. Функция успеха вызывается после успешного возврата вызова ajax. res - результат вызова ajax.

Проверьте документы JQuery для более: http://api.jquery.com/jQuery.ajax/