월별 아카이브: 1 월 2015

HTTP 406 SharePoint 나머지 엔드 포인트에 대 한 각도 $http.get을 사용 하 여 오류

업데이트: 정보의 훌륭한 조각이 지적 마크 광고 ndersson: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. 그 많은 것을 설명합니다 :).

블로그 게시물의 가장 나쁜 제목도 있을 수 있습니다.! 어쨋든.

일반적으로 모든 O365 인스턴스에 대해 내 프로토타이핑을. 나는 내 개인 인스턴스를 다른 사람에 영향을 걱정 하지 않아도. 여담-기억 때 우리 전화 모스-와 우리의 노트북에 가상 컴퓨터 주위 실행 SQL Server, IIS, 하이퍼-V 대 결정. Vm 웨어? 어쨋든...

가이 환경에서 각을 사용 하 여 응용 프로그램을 개발 했다, 다른 것 들 중, 이:

$http.get(serverUrl)
.성공(함수(데이터, 상태, 헤더, 구성) {

var getLinksResponse = 데이터;

getLinksResponse.value.forEach(함수(theResult) {

// 에 고 그래서 거품

이 두 개의 서로 다른 SharePoint 온라인 환경에서 잘 작동 했다. 그러나, 언제 내 동료 Cloudshare 인스턴스를 포팅, 가 지 고 있는 HTTP 406 오류 (처음으로 내가 하나를가지고 했다, 그래서... 야 호, 추측하건데). 우리 연구의 조금 않았고 "수락" 헤더에서은. SharePoint 온라인 완벽 하 게 행복 했다:

수락: 응용 프로그램/json

Cloudshare 인스턴스 하지만 (프 렘에 SP입니다, 가상 서버에서 호스팅) 클래식을 싶 었 어 요 "odata verbose =" 뿐만 아니라에 추가:

수락: 응용 프로그램/json;odata 자세한 정보 표시 =

수정, 우리는 같은 헤더를 추가:

var 구성 = {헤더: {
' 수락 ': ' 응용 프로그램/json;odata verbose ='
}
};

$http.get(serverUrl,구성)
.성공(함수(데이터, 상태, 헤더, 구성) {

var getLinksResponse = 데이터;

getLinksResponse.value.forEach(함수(theResult) {

// 에 고 그래서 거품

그의 제거를 406, 하지만 그것은 또한 응답의 형식 변경. 그것은 더... 자세한. (하 하!) 더 많은 변화가 필요 했다 그리고 여기에 최종 결과:

var 구성 = {헤더: {
' 수락 ': ' 응용 프로그램/json;odata verbose ='
}
};

$http.get(serverUrl,구성)
.성공(함수(데이터, 상태, 헤더, 구성) {

var getLinksResponse = 데이터;

getLinksResponse.d.results.forEach(함수(theResult) {

// 에 고 그래서 거품

이 뀌는 30 우리를 위해 분 문제, 그래서 우리가 운이. 바라 건 대 누군가가 발견이 유용한.

</끝>

방법: 같은 페이지에 여러 각도 SharePoint 웹 파트를 사용 하도록 설정

이 블로그 게시물 다중 당신이 수 있는 방법에 대해 설명 합니다 Angular.js 기반 SharePoint 웹 파트 (콘텐츠 편집기 웹 파트를 통해 참조) 같은 페이지에. 콘텐츠 편집기 웹 파트를 호출 (CEWP) 그 Angular.js 프레임 워크는 "각 웹 파트."를 사용 하 여 자바 스크립트 참조

각의 부트스트랩 프로세스가 슈퍼 쉽습니다 그리고 당신이 인터넷에서 찾을 모든 예는 이런 식:

<html ng-애플 리 케이 션 'myApp' =>

<ㅋ ㅋ /><ㅋ ㅋ /><ㅋ ㅋ />

</html>

이 고장, 그러나, 같은 페이지에 여러 개의 각 웹 파트를 대표 하는 여러 CEWP의 사용 하려는 경우. 각 것입니다만 자동으로 부트스트랩 첫 번째 ng-응용 프로그램 지시문에 대 한 그것은 발견 – 적어도 각 버전 1.3.6. 해결책은 아주 간단-수동으로 코드를 대신 부트스트랩. 지금 위의이 같은 것을 변경합니다:

<바디>
<d
4 id =”bootstrapHere” ng 컨트롤러 =”theController로 myController”>
<ㅋ ㅋ /><ㅋ ㅋ /><ㅋ ㅋ />
</div>
</바디>

<스크립트 src =”//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js”></스크립트>

<스크립트>
angular.bootstrap(angular.element(document.getElementById(“bootstrapHere”)),[' myApp']);
</스크립트>

기본적으로, 당신의 부트스트랩 할 요소에 ng-애플 리 케이 션을 사용 하는 대신, 요소에 ID를 때 리고. 다음, 부트스트랩을 사용 하 여() 각도에 메서드 자체 제어는 부트스트랩 프로세스 실행 시간에. 동일한 페이지에 3 개의 다른 각도 웹 파트와 함께 이것을 테스트 했 고 그것은 효과가 매력.

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin