Ste*_*son 15 javascript ajax jquery signalr microsoft-edge
我们有一个应用程序使用SignalR与本地的扫描仪驱动程序交谈,这些驱动程序已经在IE,Chrome和Firefox上运行了几年,这对于下载SignalR的hubs js头文件没有问题.一旦Edge问世,我们看到了与localhost交谈的问题,经过长时间的努力寻找允许它进行通信的设置(以及他们没有找到解决方案的微软票证的许多小时),我们决定添加标头以允许Edge授予访问域名:
Access-Control-Allow-Origin: https://localhost:11000
这似乎有效,但我们没有注意到它适用于64位Windows 10 Edge,但没有在32位Windows 10 Edge上运行.我花了几个小时降低所有区域的所有安全设置并禁用保护模式,尝试使用不同的ajax技巧来拉取文件,但继续得到错误:
SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete the operation due to error 00002efd.
以下伪代码失败:
$.ajax({
url: "https://localhost:11000/signalr/hubs",
crossDomain: true,
success: function (data) {
console.log("success");
},
error: function (jqXHR, textStatus, errorThrown) {
console.log("error:");
console.log(jqXHR);
}
});
Run Code Online (Sandbox Code Playgroud)
我正在寻找有关设置或其他任何尝试的洞察力,或者是否有其他人已经看到此问题.另外一条信息,fiddler没有显示任何流量的呼叫,所以它似乎被浏览器阻止.同样在与Edge-IE失败的同一台计算机上,Chrome和FF将会成功.
进入开发工具并从顶部下拉菜单中选择,在 IE 兼容模式下尝试,如果打开此选项后仍然出现错误,则可能是 IE 使用的某些 Windows 系统文件。此调用是否使用证书身份验证?也许证书已过期或 Edge 使用不同的身份验证方法?检查 IE 中的“源”选项卡(兼容和不兼容)以查看资源是否正在加载,因为 Fiddler 仅捕获 HTTP 和 HTTPS 流量。这应该为您指明错误等方面的正确方向。最后,也许只需编写一个向相同 URL 发出请求的 C# 应用程序,新版本的 .NET 可能使用相同的依赖项,这可能会破坏您的称呼。如果是这样,C# 会给您足够的描述性错误来解决问题
| 归档时间: |
|
| 查看次数: |
6734 次 |
| 最近记录: |