$().SPServices({
operation: "GetGroupCollectionFromUser",
userLoginName: $().SPServices.SPGetCurrentUser(),
async: false,
debug: true,
completefunc: function (xData, Status) {
console.log($.fn.jquery);
console.log(xData.responseXML);
console.log(xData.responseXML.xml);
}
});
我遇到SPServices无法在我们的开发服务器上工作的问题。它在prod和测试中工作正常,但由于某些原因不适用于dev。如果我运行上面的代码,我在控制台中得到以下内容。SPServices加载但无法正常工作
{readyState的:0,responseXML的:不确定,状态:0,状态文本: “没有交通”}
我看网上这可能是与跨域传输问题,所以我设置如下:
$.support.cors = true;
有了,我现在得到如下:
{readyState的:0,responseXML的:不确定,状态:0,状态文本: “错误:无效参数”}
我认为这是因为SPGetCurrentUser调用总是由于某种原因而不是用户返回空字符串。有没有人见过这种行为?什么是可能导致SPServices加载但不能执行调用的常见事情?谢谢您的帮助。
既然你不是在SharePoint 2007中,您应考虑使用[JavaScript对象模型(http://stackoverflow.com/documentation/sharepoint/1316/working-with-javascript-client-object- model-jsom)在SP2010 +中提供。在这和REST服务之间,自2010年以来我没有看到许多SPServices的用例。 – Thriggle
感谢Thriggle的回复,但遗憾的是SP2010中的CSOM相当一半,因为您无法通过名称检索SP组,只能通过SP2010中的ID检索SP组。这是一个问题,因为我没有办法保证我感兴趣的组ID在我们的不同服务器(prod,dev,staging等)中是相同的。因此,维护哪些ID与哪些服务器成为恶梦。尽管2013年你完全正确,但CSOM已经非常棒了。 –