Ajax 对Web API的调用在Chrome中工作,但在Edge中不起作用



我创建了一个边缘扩展,该扩展当前对我也开发的Web API进行Ajax调用,以便请求数据。目前经过数小时的测试,我知道 Ajax 调用工作正常并返回相关数据。

我的问题是,当我尝试从 Edge 扩展调用 Ajax 调用时,它将失败。它不提供任何推理或错误,只是简单地将我添加到 Ajax 调用中的错误消息(错误:....见下文(。在 chrome 中测试了完全相同的扩展和对我的 Web API 的 Ajax 调用后,扩展中的 Ajax 调用可以正常工作并返回我可以使用的数据。

$(document).ready(function () {
$select = $('#brandDropdownList');
$.ajax({
type: "GET",
url: 'http://localhost:44358/api/brands',
dataType: 'JSON',
success:function(data) {
$select.html('');
$.each(data, function(key, val) {
$select.append('<option id="' + val.brand_id + '">' + val.brand_name + '</option>');
})
},
error: function(){
$select.html('<option id="-2">Please try again...</option>');
}
});  

这是为什么呢?我没有错误或问题,它在 Chrome 中运行良好,但在 Edge 中无法正常工作,不幸的是,我必须将 Edge 用于我正在进行的项目。 我可以在开发工具的控制台中看到的唯一错误是有一个警告:

"serviceWorker.getRegistrations 由于 ms-browser-extension 中的不安全上下文或主机限制而被拒绝">

这可能是因为出于安全原因Microsoft Edge 默认具有网络隔离功能。您可以通过以管理员身份从 cmd 提示符运行以下命令来启用环回并调试本地主机服务器,然后重新启动 Microsoft Edge:

CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

参考:

(1( MS 边缘扩展无法获取错误

(2(为什么Microsoft Edge会打开一些本地网站...

(3( 如何在边缘调试本地主机Microsoft

相关内容

  • 没有找到相关文章

最新更新