[英]$.ajax autocomplete not working in ie 11 in jquery?
我遇到的問題是,我下面的自動完成代碼可在chrome和firefox上運行,但不能在Internet Explorer 11上運行。任何人都可以幫助我解決我的代碼。 我認為它的$.ajax
問題不支持,但是任何人都可以通過下面的代碼來幫助我。 謝謝。
$("#searchTextField").autocomplete({
minLength: 2,
focus: function(event, ui) {
event.preventDefault();
},
source: myData,
select: function select(event, ui) {
event.preventDefault();
var url = '#{request.contextPath}/index.xhtml';
var searchValue = ui.item.value;
var data = new FormData();
data.append('searchValue', searchValue);
$.ajax({
url: url,
data: data,
method: "POST",
processData: false,
contentType: false,
cache: false,
}).done(text => {
$('#results').append($(text).find('#textTable'));
$('#results').append($(text).find('table'));
$('#results').append($(text).find('#bestTable'));
$("#clearone").show();
});
},
response: function response(event, ui,) {
if (!ui.content.length) {
var message = {
value: "",
label: "NOTHING FOUND"
};
ui.content.push(message);
}
}
});
這有兩個原因無法在IE中起作用。 首先,您需要在response
處理程序函數中添加一個逗號結尾:
response: function response(event, ui,) {
其次,您在done()
使用了箭頭功能; IE的任何版本都完全不支持這些功能。
$.ajax({ /* ... */ }).done(text => {
請改用傳統的匿名函數。 這是這些修復程序的完整示例:
$("#searchTextField").autocomplete({
minLength: 2,
focus: function(event, ui) {
event.preventDefault();
},
source: myData,
select: function select(event, ui) {
event.preventDefault();
var url = '#{request.contextPath}/index.xhtml';
var searchValue = ui.item.value;
var data = new FormData();
data.append('searchValue', searchValue);
$.ajax({
url: url,
data: data,
method: "POST",
processData: false,
contentType: false,
cache: false,
}).done(function(text) {
$('#results').append($(text).find('#textTable'));
$('#results').append($(text).find('table'));
$('#results').append($(text).find('#bestTable'));
$("#clearone").show();
});
},
response: function response(event, ui) {
if (!ui.content.length) {
var message = {
value: "",
label: "NOTHING FOUND"
};
ui.content.push(message);
}
}
});
最后,請注意,您可以通過使用開發人員工具(按F12在大多數瀏覽器中打開它們)並在控制台中查看錯誤來調試JS問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.