0

我正在编写一些 JavaScript 来与位于防火墙后面并需要证书的 SharePoint Web 服务进行通信。

我的浏览器中安装了正确的证书。当我浏览到 WSDL 时,我可以很好地加载页面。

但是,当我使用 javascript/jQuery 从网页执行一个简单的 SPServices 命令 (GetListCollection) 时,我收到了未经授权的错误。

我从浏览器中删除了证书并尝试加载 WSDL 并得到完全相同的错误。重新安装证书修复了 WSDL 视图,但我的 JavaScript 仍然出错。

我正在使用这段代码:

$().SPService({
  webURL:  [the url],
  operation: "GetListCollection",
  async: false,
  completefunc: function( xData, Status ) {
    console.log( 'Status: ' + Status );
    if ( !!xData ) {
      $( xData.responseXML ).find("Lists > List").each(function() {
        var $node = $(this);
        console.log( $node.attr( "Title" ) );
      });
    }
    else {
       alert('Null result.');
    }
  }
});

对不起,如果代码中有错别字;这不是剪切和粘贴,因为我的开发盒没有连接到互联网。

我想我需要将安装在浏览器中的证书(无论谁在我的页面上运行代码)嵌入到 Web 服务请求中,但我不知道如何或在哪里寻找答案。任何提示将非常感谢。

4

1 回答 1

0

事实证明,除了您从中加载原始页面的服务器之外,您不允许使用 javascript 通过 https 与任何其他服务器通信。它是 ajax/javascript 安全规范的一部分。所以这个解决方案根本行不通。我将不得不研究一个服务器端代理请求解决方案。

于 2012-12-17T14:01:54.343 回答