从Office加载项发送POST AJAX请求

yan*_*nik 4 ajax outlook outlook-addin office365 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
  });
Run Code Online (Sandbox Code Playgroud)

我需要实施更多的东西吗?因为我将我的域添加到manifest AppDomain属性.

干杯

Sla*_*nov 6

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

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

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