我在触发附加到 select2 的 ajax 时遇到了可怕的麻烦。select2 框正在正确呈现,但是在搜索时不会调用控制器。
我从另一个项目的工作示例中获取了这一点......这使它更加混乱
以下是布局标题中的 JavaScript 和 CSS 文件
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.full.js"></script>
这是我的意见
<input type="hidden" id="companyname" name="companyname" style="width: 100%;" />
这是我的阿贾克斯电话
$(document).ready(function () {
$("#companyname").select2({
placeholder: "Type to find a Provider",
theme: "bootstrap",
allowClear: true,
minimumInputLength: 2,
ajax: {
cache: false,
dataType: "json",
typ8e: "GET",
url: "@Url.Action("/CompanyHouse/SearchCompany")",
data: function(params){
return { companyname: params.term };
},
processResults: function (data, page) {
return { results: data };
}
}
// formatResult: contractFormatResult,
//formatSelection: contractFormatSelection,
//escapeMarkup: function (m) { return m; }
});
});
两件事:
- 您在 ajax 选项上有一个错别字
type:"GET"
- 使用
Url.Action
的正确方法是'@Url.Action("YourAction","YourController")'