$().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已經非常棒了。 –