Javascript $.ajax自动完成在jquery的ie 11中不起作用?

Javascript $.ajax自动完成在jquery的ie 11中不起作用?,javascript,jquery,Javascript,Jquery,我遇到了一个问题,下面的自动完成代码可以在chrome和firefox上运行,但不能在InternetExplorer11上运行。有人能帮我解决我的代码吗。我认为ie不支持它的$.ajax问题,但是有人能帮我处理下面的代码吗。谢谢 $(“#searchTextField”).autocomplete({ 最小长度:2, 焦点:功能(事件、用户界面){ event.preventDefault(); }, 资料来源:myData, 选择:功能选择(事件、用户界面){ event.preventDe

我遇到了一个问题,下面的自动完成代码可以在chrome和firefox上运行,但不能在InternetExplorer11上运行。有人能帮我解决我的代码吗。我认为ie不支持它的
$.ajax
问题,但是有人能帮我处理下面的代码吗。谢谢

$(“#searchTextField”).autocomplete({
最小长度:2,
焦点:功能(事件、用户界面){
event.preventDefault();
},
资料来源:myData,
选择:功能选择(事件、用户界面){
event.preventDefault();
var url='#{request.contextPath}/index.xhtml';
var searchValue=ui.item.value;
var data=new FormData();
data.append('searchValue',searchValue);
$.ajax({
url:url,
数据:数据,
方法:“张贴”,
processData:false,
contentType:false,
cache:false,
}).done(文本=>{
$('#results')。追加($(文本)。查找('#文本表');
$('#results')。追加($(文本)。查找('table');
$(“#结果”).append($(文本).find(“#最佳表格”);
$(“#clearone”).show();
});
},
响应:函数响应(事件、ui){
如果(!ui.content.length){
var消息={
值:“”,
标签:“未找到任何内容”
};
ui.content.push(消息);
}
}
});

这在IE中不起作用有几个原因。首先,在
响应
处理程序函数中有一个尾随逗号,需要删除该逗号:

response: function response(event, ui,) {
其次,您正在
done()
中使用箭头函数;这些在任何版本的IE中都是完全不受支持的

$.ajax({ /* ... */ }).done(text => {
改用传统的匿名函数。下面是这些修复程序的完整示例:

$(“#searchTextField”).autocomplete({
最小长度:2,
焦点:功能(事件、用户界面){
event.preventDefault();
},
资料来源:myData,
选择:功能选择(事件、用户界面){
event.preventDefault();
var url='#{request.contextPath}/index.xhtml';
var searchValue=ui.item.value;
var data=new FormData();
data.append('searchValue',searchValue);
$.ajax({
url:url,
数据:数据,
方法:“张贴”,
processData:false,
contentType:false,
cache:false,
}).done(函数(文本){
$('#results')。追加($(文本)。查找('#文本表');
$('#results')。追加($(文本)。查找('table');
$(“#结果”).append($(文本).find(“#最佳表格”);
$(“#clearone”).show();
});
},
响应:功能响应(事件、ui){
如果(!ui.content.length){
var消息={
值:“”,
标签:“未找到任何内容”
};
ui.content.push(消息);
}
}
});
最后,请注意,您可以通过使用开发人员工具(在大多数浏览器中按F12打开它们)并在控制台中查看错误来调试类似的JS问题