месечни архиви: Януари 2015

HTTP 406 Грешка при използване на ъглови $http.get срещу SharePoint ОСТАНАЛИТЕ крайни точки

Актуализация: Марк АД ndersson посочи, това голямо парче на информация: HTTP://blogs.Office.com/2014/08/13/JSON-Light-support-REST-SharePoint-API-Released/. Това обяснява много :).

Това може да бъде най-лошото заглавието на блог пост някога! Anyhoo.

Обикновено се правят всички на моята прототипи срещу O365 екземпляр. Имам моя личен случай, така че не трябва да се притеснявате за някой друг, засягащи. Като настрана-не забравяйте, когато ние наричаме се извършват около виртуални машини за нашите лаптопи с мъх – SQL Server, IIS, определящ Hyper-V срещу. VMWare? Anyhoo...

Се е развил ап използване на Ъгловата в тази среда, която прави, наред с други неща, Това:

$http.get(serverUrl)
.успех(функция(данни, статус, заглавки, довереник) {

var getLinksResponse = данни;

getLinksResponse.value.forEach(функция(Резултатът) {

// и така нататък и така пяна

Това е движение прав глоба в две различни среди SharePoint онлайн. Въпреки това, Когато колегата ми го пренесли на копие на Cloudshare, Той се HTTP 406 грешка (който е за първи път, аз винаги имам една, така... Уау, Предполагам). Направихме малко изследвания и забелязах, че заглавния блок на "Приемат" е изключено. SharePoint онлайн е напълно щастлив с:

Приемете: приложение/json

Но на cloudshare съд (което е SP на prem, домакин на виртуален сървър) Исках на класическия "odata = многословно" прибавка in както и:

Приемете: приложение/json;oData = многословно

Да се определи, че, Ние добавя заглавието като такива:

var довереник = {заглавки: {
"Приемат": "приложение/json;oData = многословно "
}
};

$http.get(serverUrl,довереник)
.успех(функция(данни, статус, заглавки, довереник) {

var getLinksResponse = данни;

getLinksResponse.value.forEach(функция(Резултатът) {

// и така нататък и така пяна

Че се отървах от 406, но това също се промени формата на отговор. Това беше повече... многословен. (Haha!) Ето крайния резултат и повече промени са били необходими:

var довереник = {заглавки: {
"Приемат": "приложение/json;oData = многословно "
}
};

$http.get(serverUrl,довереник)
.успех(функция(данни, статус, заглавки, довереник) {

var getLinksResponse = данни;

getLinksResponse.d.results.forEach(функция(Резултатът) {

// и така нататък и така пяна

Това само се превърна в 30 минута проблем за нас, така че ние lucked. Надявам се някой намери тази полезна.

</край>

Практически съвети: Разреши няколко ъглови SharePoint уеб компоненти на същата страница

Този блог постове описва как можете да имате множество Angular.js базирани SharePoint уеб части (препраща чрез уеб компонент за редактор на съдържание) на същата страница. Обаждам се на уеб компонент за редактор на съдържание (CEWP) това препраща към JavaScript, с помощта на Angular.js рамка "ъглова Web част."

На Ъгловата в bootstrap процес е супер лесно и просто за всеки пример, можете намерите на internets е нещо подобно:

<HTML ПГ-ап = "Моетоприлож">

<бла /><бла /><бла />

</HTML>

Това развали, Въпреки това, Ако искате да разрешите няколко CEWP представляващи множество ъглови уеб компоненти на същата страница. Ъгловата ще автоматично само срещу първата директива ПГ-ап го bootstrap находки – поне от ъгловите версия 1.3.6. Решението е доста проста-ръчно bootstrap своя код вместо. По-горе промени на нещо подобно:

<тяло>
<d
IV ИД =”bootstrapHere” ПГ-контролер =”myController като theController”>
<бла /><бла /><бла />
</DIV>
</тяло>

<скрипт src =”//AJAX.googleapis.com/AJAX/libs/angularjs/1.3.6/angular.js”></скрипт>

<скрипт>
angular.Bootstrap(angular.Element(document.getElementById(“bootstrapHere”)),["Моетоприлож"]);
</скрипт>

По принцип, вместо да използвате ПГ-ап на елемент да направите вашия bootstrapping, шамар ИД към този елемент. След това, Използвайте bootstrap() метод на ъгловите себе си да контролира bootstrapping процес по време на изпълнение. Аз бях тестван това с три различни ъглови уеб компоненти на същата страница и то работилница чар.

</край>

undefinedАбонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin