如何从office.js代码内部连接服务器

时间:2019-05-22 12:09:51

标签: office-js

我正在开发office.js应用程序。我还开发了一个运行并等待http请求的快速服务器。 但是我在如何连接这两部分上有麻烦。(两个代码都是用Node thecnology编写的) 我尝试使用http模块,以便以其他代码将office.js应用程序中的发帖请求发送到快递服务器,但是没有成功。 这是office.js应用程序中的代码:

const data = JSON.stringify({
    userid : 8888,
    username : 'excell sending info - third test'
  })



const options = {
  hostname: 'localhost',
  port: 8888,
  path: '/test',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length
  }
}

const req = http.request(options, (res) => {
  console.log(`statusCode: ${res.statusCode}`)

  res.on('data', (d) => {
    process.stdout.write(d)
  })
})

req.on('badRequest', (error) => {
  console.error(error)
})
//OfficeHelpers.UI.notify();
req.write(data)
req.end()





    });
} catch (error) {
    OfficeHelpers.UI.notify(error);
    OfficeHelpers.Utilities.log(error);
}

}

Wireshark指示存在一个错误的请求。 非常感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您正在使用Office.js构建Office加载项非常好。您在本地运行的Express服务器是否在https上运行?如您所知,作为一项安全措施,只能使用https加载加载项并连接到也使用https的站点/服务。您可以从我们拥有的最新模板中看到,我们还创建了一个简单的webpack-dev-server,该服务器使用https和自动生成的dev-cert。查看模板以获取有关如何生成证书以及如何配置证书的示例服务器。 https://github.com/OfficeDev/Office-Addin-TaskPane

作为Express.js的快速随机指针,我发现此博客对您有所帮助:https://timonweb.com/posts/running-expressjs-server-over-https/ 我希望这可以帮助你!

答案 1 :(得分:0)

使用HTTPS并创建所需的证书已解决了该问题。 然后可以将请求正确发送到服务器。