0

最近、ASP MVC ActionResult からデータを取得する ajax コールバックを実現しようとして、Jquery Select2 ( Select2 ) に苦労しています。

これは私のHTMLコードです:

<input type="hidden" id="e2" style="width: 500px;">

そして、これはjsコードです:

<script>
$(document).ready(function(){

    $("#e2").select2({
        minimumInputLength: 1,
        ajax:{
          url: "http://localhost:1800/Test/GetCountries",
            dataType:"jsonp",
            data: function(term, page){
                return {
                    query: term
                };
            },
            results: function(data){
                return {
                    results: data
                };
            }
        }
    });

});

GetCountries 関数は非常に単純で、検索語句に一致する国を返すだけです。これは、「united」という用語を検索する場合のサンプルです。

[{"id":"AE","text":"United Arab Emirates"},{"id":"UK","text":"United Kingdom"},{"id":"US","text":"United States"}]

フォーマットを application/json から text に前後に変更しようとしましたが、成功しませんでした。関数が返すjsonに何かが欠けていると思いますが、3時間経っても、ここで何が問題なのかわかりません。

ネットワークタブのChromeデバッガーを調べると、関数を呼び出しているようで、データが送信されています。ただし、文字を入力しても何も表示されず、「検索中...」というテキストが永遠に表示されます。

誰かが同じ状況に陥った場合は、あなたの考えを共有してください。前もって感謝します。

4

2 に答える 2

0

これを頼むのは久しぶりです。デフォルトの Bootstrap の Typeahead で回避策を講じることはできますが、Select2 を機能させる時間がありません。

だから、誰かが来ても、わざわざ答えないでください。

于 2013-01-14T01:47:42.553 に答える