在IE 11中,我有一个测试用例,它使用对https地址的ajax调用,并且在为站点安装证书后工作正常。 Excel任务窗格加载项中的同一调用失败,并显示错误:
XMLHttpRequest:网络错误0x80070005
这是ajax调用:
$.support.cors = true;
$.ajax({
crossDomain: true,
async: true,
url: 'https://192.168.1.3:3001/submit',
data: jsonString,
cache: false,
contentType: 'application/json',
processData: false,
type: 'POST',
success: function (data, textStatus, jqXHR) {
// Callback code
document.getElementById("demo").innerHTML = "success";
console.log("Success! Submission id is: " + data.id);
},
error: function (xhr) {
document.getElementById("demo").innerHTML = "An error occured: " + xhr.status + " " + xhr.statusText + jsonString;
console.log("An error occured: " + xhr.status + " " + xhr.statusText);
}
});
IE没有返回错误。在Visual Studio 2017中运行的Excel Addin显示java控制台日志:SCRIPT7002:XMLHttpRequest:网络错误0x80070005,访问被拒绝。
并且xhr.status为0并且xhr.statusText为“error”
显然,IE将允许使用具有不匹配地址的证书(如果已安装),而Office将不允许。我通过重新生成证书并确保使用的FQDN与IE地址栏中的url相同来解决了这个问题。然后通过IE重新安装受信任的根证书中的新证书。