最近、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デバッガーを調べると、関数を呼び出しているようで、データが送信されています。ただし、文字を入力しても何も表示されず、「検索中...」というテキストが永遠に表示されます。
誰かが同じ状況に陥った場合は、あなたの考えを共有してください。前もって感謝します。