2016-07-25 12 views
0
$().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); 
     } 
    }); 

devserver에서 작동하지 않는 SPServices에 문제가 있습니다. 그것은 찌르다 및 테스트하지만 어떤 이유로 dev에 잘 작동합니다. 위의 코드를 실행하면 콘솔에서 다음과 같이 표시됩니다.SPServices가로드되고 있지만 작동하지 않습니다.

{readyState가 : 0, 인 responseXML : 정의되지 않은, 상태 : 0,하는 statusText : "아니오 전송"} :

$.support.cors = true; 
난이 크로스 도메인 전송에 문제가 될 수있는 온라인 읽을

그래서 나는 다음을 설정하지

{readyState가 : 0, 인 responseXML : 정의되지 않은, 상태 : 0,하는 statusText : "오류 : 잘못된 인수를"} 그와

이제 다음을 얻을

I을 이것은 SPGetCurrentUser 호출이 항상 사용자 대신에 어떤 이유로 빈 문자열을 반환하기 때문이라고 생각하십시오. 전에이 행동을 본 사람이 있습니까? SPServices가로드되지만 호출을 실행할 수없는 일반적인 사항은 무엇입니까? 도와 주셔서 감사합니다.

+0

당신은 셰어 포인트 2007 아니에요 때문에, 당신은 [자바 스크립트 객체 모델]을 사용하는 것이 좋습니다 (http://stackoverflow.com/documentation/sharepoint/1316/working-with-javascript-client-object- model-jsom)을 SP2010 +에서 사용할 수 있습니다. 저와 REST 서비스 사이에서 2010 년부터 SPServices에 대한 많은 사용 사례를 보지 못했습니다. – Thriggle

+0

답장을 보내 주셔서 감사합니다.하지만 불행히도 SP2010의 CSOM은 이름으로 SP 그룹을 검색 할 수 없으므로 절반 만 구워졌으며 SP2010의 ID로만 구워졌습니다. 이것은 내가 관심있는 그룹 ID가 다른 서버 (prod, dev, staging 등)에서 동일하게 유지 될 수있는 방법이 없기 때문에 문제가됩니다. 따라서 어떤 ID가 어떤 서버와 관련이 있는지를 유지하는 것이 악몽. 2013 년 이후에도 CSOM이 환상적입니다. –

답변

3

이렇게하면 SPServices의 버그 인 것으로 드러납니다. 어떤 이유로 포트 번호가있는 사이트에서 SPServices를 사용하면 포트 번호가 중복되어 모든 것이 손상되는 것으로 나타납니다. 다음과 같이 그래서 내 예제와 같이하는 것은 나는 WEBURL를 지정하지 않은 이상 등 SPServices는 현재 웹을 사용하지만 포트를 복제 :

correct url: http://yourserver:123/sites/yoursite

SPServices: http://yourserver:123123/sites/yoursite

이 단순히 사이트 상대 WEBURL를 지정 해결하려면 아래의 작업 코드와 같이 . 바라기를 이것은 누군가에게 약간의 악화를 저장합니다.

var site = "/sites/yoursite"; 

$(document).ready(function() { 
    $().SPServices({ 
     operation: "GetGroupCollectionFromUser", 
     userLoginName: $().SPServices.SPGetCurrentUser({ 
          webURL: site 
         }), 
     webURL: site, 
     async: false, 
     completefunc: function (xData, Status) { 
      //Do stuff here 
     } 
    }); 
}); 
관련 문제