Office js 在Excel加载项Javascript中进行XMLHttpRequest调用时拒绝访问

Office js 在Excel加载项Javascript中进行XMLHttpRequest调用时拒绝访问,office-js,Office Js,我试图通过创建外接程序将数据从web服务拉入Excel。我认为这是相当标准的事情。但是我的电话被拒绝了 // make request var request = new XMLHttpRequest(); request.onreadystatechange = function () { if (request.readyState === 4 && request.status === 200) { v

我试图通过创建外接程序将数据从web服务拉入Excel。我认为这是相当标准的事情。但是我的电话被拒绝了

        // make request
    var request = new XMLHttpRequest();
    request.onreadystatechange = function () {
        if (request.readyState === 4 && request.status === 200) {
            var factTable = JSON.parse(request.responseText);
        }
    }
    request.open("GET", "http://localhost:51805/Api/FactData?aaaViewName=aaa_telecom_services_forecast", false);
特别是在开放线路上

究竟为什么它会阻止访问?我能做些什么来获取我的数据


感谢

这似乎是因为office插件使用https,而web服务使用http。即使启用CORS也无济于事。我通过右键单击web服务项目并在“属性”窗口(不是“项目属性”)中将“SSL Enabled”设置为true,并在web服务调用中使用https版本的URL来修复此问题。

是否在外接程序的上下文之外尝试此操作?例如,在JSFIDLE中?没有,但是web请求在浏览器中可以正常工作。我刚刚尝试了JSFIDLE,但单击run时什么也没发生。我需要创建某种HTML吗?这是我第一次使用JS,现在它似乎迫使我创建外接程序。你得到了什么HTTP代码?最简单的测试方法是通过打开外接程序。Excel在线(浏览器)。您可以转到插入>加载项>管理加载项>上载加载项文件。然后,您可以打开开发人员工具,并在网络选项卡下查看它失败的原因。一个原因可能是它使用的是HTTP而不是HTTPS(这只是我的猜测)。我们确实有连接到外部服务的外接程序示例,如此处:。我找不到任何通过http使用localhost请求的示例。