0

サーバー側でVB.netを使用してjquery-ui-autocompleteを実装しただけですが、例に従っているため、このコードがどのように機能するかを(ダミーのために)説明しようとする人はいますか?それについてはリターン(成功イベント)にあります:

$("#kSerial").autocomplete({
           source: function (request, response) {
               dataFromServer = "";
               $.ajax({
                   type: "POST",
                   url: URL + 'regresaSeriales',
                   async: false,
                   contentType: "application/json; charset=utf-8",
                   data: "{" + "'serial':'" + request.term + "'" + "}",
                   dataType: "json",
                   success: function (msg) {

                       /*This is the part I just don't get it*/                        

                       response($.map(msg.d, function (item) {
                           return {
                               value: item.serial
                           };
                       }));

                     /*and ends here*/

                   },
                   error: function () {

                       serial = 0;

                   }

               })

           },

私のサーバー側では、「シリアル」オブジェクトのリスト (List (of T)) を返し、正常に動作します。

例に従ってサーバー側のコードに適応させただけですが、戻り値の一部がどのように機能するかわかりません。つまり、「ソース」プロパティがコールバックを受け入れることを理解しましたが、それがどのように機能するかを理解できませんajax リクエストの成功イベントのコード。

実際、コールバックの 2 つのパラメーター、特に「要求」(要求、応答) の理由もわかりません。

これは私のコードに基づいたチュートリアルです: http://www.dotnetcurry.com/ShowArticle.aspx?ID=515

4

1 に答える 1

2

応答データを取得し、dオブジェクト プロパティ (配列) を取得して反復し、その配列内の各アイテムに対してvalue、アイテムのserialプロパティのプロパティを持つオブジェクトを作成します。

この$.map呼び出しは、これらすべてのオブジェクトを配列に入れ、それをresponse関数 (補完を吐き出すオートコンプリート プラグインの IIRC 部分) に送信します。

パラメータは、request検索語、つまり「テキスト入力の内容」を含む単なるオブジェクトです。これについては、オートコンプリートの概要ドキュメントで説明されています。

于 2012-05-14T16:19:08.473 に答える