select2(远程数据)由于快速键入而抛出异常
select2 (remote data) throws exception because of typing to fast
我正在使用 select2 加载远程数据。我将 minimumInputLength 声明为 3 个字母,因此之后它将开始搜索。
每当我在快速打字时敲到第四个字母时,我都会收到 Javascript 异常提示:
Sorry. An error occured while communicating with the server. Please try again later.
我怎样才能避免这种情况?我已经将 quietMillis (waitTimesMs) 更改为更低或更高(这与它有什么关系吗?)。
不胜感激。
我的代码是这样的:
$(function () {
$("#Search").select2({
minimumInputLength: 3,
ajax: {
url: site,
dataType: "json",
quietMillis: waitTimeMs,
data: function (params) {
var page = (params.page || 1) - 1;
return {
searchText: params.term,
pageCount: 10,
page: page
};
},
processResults: function (data) {
var select2Data = $.map(data.Items, function (obj) {
obj.id = obj.ID;
obj.text = obj.Name;
return obj;
});
return {
results: select2Data,
pagination: { more: (data.PageNo * 10) < data.TotalCount }
};
}
终于成功了!
select2 将 "quietMillis" 更改为 "delay" 因此我可以将 quietMillis 更改为我想要的大小并且什么都没有改变......
我正在使用 select2 加载远程数据。我将 minimumInputLength 声明为 3 个字母,因此之后它将开始搜索。 每当我在快速打字时敲到第四个字母时,我都会收到 Javascript 异常提示:
Sorry. An error occured while communicating with the server. Please try again later.
我怎样才能避免这种情况?我已经将 quietMillis (waitTimesMs) 更改为更低或更高(这与它有什么关系吗?)。
不胜感激。
我的代码是这样的:
$(function () {
$("#Search").select2({
minimumInputLength: 3,
ajax: {
url: site,
dataType: "json",
quietMillis: waitTimeMs,
data: function (params) {
var page = (params.page || 1) - 1;
return {
searchText: params.term,
pageCount: 10,
page: page
};
},
processResults: function (data) {
var select2Data = $.map(data.Items, function (obj) {
obj.id = obj.ID;
obj.text = obj.Name;
return obj;
});
return {
results: select2Data,
pagination: { more: (data.PageNo * 10) < data.TotalCount }
};
}
终于成功了! select2 将 "quietMillis" 更改为 "delay" 因此我可以将 quietMillis 更改为我想要的大小并且什么都没有改变......