0
データをドロップダウンに表示してオートコンプリートを実装したいと思います。これを行うために、私はselect2
、jQueryプラグインを使用しています。 私の問題は、検索ボックスに書かれた検索語句が、コントローラのメソッドにパラメータとして渡されていないことです。これは私のAjaxのリクエストです:パラメータとして検索語を渡せません
$('#someId').select2({
minimumInputLength: 1,
allowClear: true,
ajax: {
url: "/controllerName/methodName",
dataType: "json",
type: "GET",
data: function (params) {
var queryParameters = {
term: params.term
}
return queryParameters;
},
processResults: function (data) {
return {
results: $.map(data, function (students) {
return {
text: students.name,
id: students.id
}
})
};
}
}
});
そして、これはhtmlです:
<div class="form-group">
<label asp-for="someId" class="col-md-2 control-label"></label>
<div class="col-md-4">
<select asp-for="someId" class="form-control" style="display:table-cell;
width:100%"></select>
</div>
</div>
これは、コントローラの私の方法です:
[HttpGet]
public IActionResult GetStudents(string searchTerm)
{
//some code
}
は私のAjaxリクエストで何か問題はありますか?
コントローラメソッドをご覧ください。あなたのブラウザのネットワークツールをチェックして、値が正しく送信されているかどうか確認しましたか? (これはGET要求なので、リクエストURLのクエリ文字列にあります)。これは、クライアント側またはサーバー側の問題であるかどうかを最初に説明します。 – ADyson
@ADysonブラウザのネットワークツールを確認しました。パラメータはURLのクエリ文字列にあります。 – eli