从Office加载项发送POST AJAX请求

时间:2017-07-25 16:06:50

标签: ajax outlook office365 outlook-addin office-js

我正在尝试从我的Outlook加载项发送第三方服务的POST Ajax请求,但无论我尝试接收Error: Access is denied和状态0(请求永远不会命中服务器) )。

假设我们正在运行IE9或8,我尝试了https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest这样的旧学校黑客。

$.ajax({
    url: endpoint,
    data: JSON.stringify({'1':'2'}),
    // headers: {'X-Requested-With': 'XMLHttpRequest'},
    contentType: 'text/plain',
    type: 'POST',
    dataType: 'json',
    error: function(xhr, status, error) {
        // error
      }
}).done(function(data) {
    // done
  });

我还需要实施更多内容吗?因为我将我的域添加到清单AppDomain属性。

干杯

1 个答案:

答案 0 :(得分:6)

要向第三方服务发送请求,需要执行以下操作...

  • 将服务URI添加到AppDomain列表(您已完成它。)
  • 服务必须有SSL端点; " https://your.domain"必须包含在" AppDomain"进入(见上文)
  • 该服务必须允许对您的应用程序(托管的Outlook App URI)域或任何域的CORS请求。这取决于服务创建者是否允许或禁止通过Ajax连接客户端应用程序。

在观察您的代码时,我注意到您正在发送JSON对象,但将内容类型设置为" text / plain"。联系服务创建者以获取有关他们接受的数据类型的信息。通常,服务允许" application / json",但不允许使用纯文本。