0

以下のコードをバックトラックしようとしています。今まで、getResults()関数が非同期JavaScriptを使用していることは理解していますが、変数の値とres関数を呼び出す人 はまだ理解できませんsuccess: function(res)。ガイドしてください。ありがとう

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>");      //
            }; 
        } 

    });
}
4

3 に答える 3

1

ajax 呼び出しが終了すると、success が自動的に呼び出され、正常に終了します (コード 200)。res は、サーバーが呼び出しに返す文字列です。この場合、jsonp 形式です。この場合、結果。

ご覧のとおり、res は他の json レスポンスと同様にオブジェクトとして使用されます。

于 2013-02-28T17:33:01.040 に答える
0

これは、標準の JQuery AJAX 呼び出しです。ajax 呼び出しが正常に返されると、success 関数が呼び出されます。resajax 呼び出しの結果です。

詳細については、JQuery ドキュメントを確認してください: http://api.jquery.com/jQuery.ajax/

于 2013-02-28T17:33:39.493 に答える
0

ajax リクエストが正常に返されると、Success が自動的に呼び出されます。関数には 3 つの引数が返されます。

成功: Function( PlainObject データ、文字列 textStatus、jqXHR jqXHR )

于 2013-02-28T17:33:16.110 に答える