当使用 ajax 在 select2 框中搜索内容时,我收到 Loading failed
错误。我的代码如下:
$("#drugSearch").select2({
placeholder: "Search for a drug by drug id or name",
minimumInputLength: 3,
ajax: {
url: "@Url.Action("SearchDrug", "Drug")",
dataType: 'jsonp',
quietMillis: 100,
data: function (term, page) {
return {
query: term
};
},
results: function (data, page) {
debugger;
return {
results: data.drugs
};
}
},
formatResult: drugResult,
formatSelection: drugSelection,
escapeMarkup: function (m) { return m; }
});
function drugResult(drug) {
debugger;
return drug.Name + " (" + drug.DrugBankRef + ")";
}
function drugSelection(drug) {
debugger;
return drug.Name + " (" + drug.DrugBankRef + ")";
}
断点也没有碰到上面的 debugger;
行
我的 JSON 返回为:
{ drugs: {[...]} }
它还有属性 Name 和 DrugBankRef,我已确认搜索后从 URL 返回了一个有效的 JSON。
我在这里做错了什么?您还需要跟踪问题吗?
请您参考如下方法:
我使用的是 JSONP
而不是 JSON
,将数据类型更改为 JSON
解决了这个问题。