我想从访问列表数据neighbor.domain.com使用Javascript on home.domain.com。两者都是Sharepoint 2007.跨子域Sharepoint列表访问
我使用的代码来自this question's top answer。
$(function(){
var soapEnv =
"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
<soapenv:Body> \
<GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
<listName>Documents</listName> \
<viewFields> \
<ViewFields> \
<FieldRef Name='Title' /> \
</ViewFields> \
</viewFields> \
</GetListItems> \
</soapenv:Body> \
</soapenv:Envelope>";
$.ajax({
url: "http://neighbor.domain.com/sites/site1/_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
contentType: "text/xml; charset=\"utf-8\"",
complete: function(xData, status){
$(xData.responseXML).find("z\\:row").each(function(){
var title = $(this).attr("ows_FileLeafRef").split("#")[1];
alert(title);
})
},
error: function(){
alert("error");
}
});
});
它对我不起作用。我收到一个错误:访问被拒绝。
我已经加入jQuery.support.cors = true
,但没有运气。
有什么我失踪了吗?是否需要在其他域实现某些功能(neighbor.domain.com)?
我没有对服务器计算机的管理访问权限(只有开发人员才能访问Sharepoint)。我只有读访问neighbor.domain.com。
UPDATE(2013年7月10日):我比读访问权neighbor.domain.com更多。我的解决方案涉及在另一个子域上添加一个文件,该文件将根据传递给它的URL参数来检索列表数据。
你也许得到与NT验证的双跃点问题? – Nat 2012-03-05 21:11:12
有什么方法可以测试吗?直到今天,我还没有听说过双跳问题。基于[本文](http://weblogs.asp.net/owscott/archive/2008/08/22/iis-windows-authentication-and-the-double-hop-issue.aspx):我知道匿名访问被禁用,不确定模拟。 – branflake 2012-03-05 21:21:17
您可以通过硬编码ajax调用的凭据来进行测试。 – Nat 2012-03-05 21:31:34