Monataj Arkivoj: Januaro 2015

HTTP 406 Eraro Kiam Uzanta Angular $http.Akiras #Kontra? SharePoint RIPOZA Fino Punktoj

Ĝisdatigo: Marc AD ndersson atentigis #?i tiu grandan pecon de info: Http://Blogoj.Oficejo.Com/2014/08/13/json-lumo-subteno-ripozo-sharepoint-api-liberigita/. Kiu klarigas tre :).

Kiu povas esti la plej malbona titolo de bloga #po?to iam ajn! Anyhoo.

Mi tipe faras ĉiujn de mia prototyping kontraŭ O365 okazo. Mi havas mian propran okazon por ke mi ne devas esti maltrankvilita pri influanta iun ajn alia. Kiel flankenmetite ?? Memoras kiam nin vokas portita #?irka? virtualaj #ma?ino sur niaj tekkomputiloj kun MUSKO ?? SQLa Servilo, IIS, Decidanta Hyper-V #kontra?. VMWare? Anyhoo?

Mi evoluigis app uzanta Angular en #?i tiu medio kiu faras, Inter aliaj aferoj, Tio ĉi:

$Http.Akiras(ServerUrl)
.Sukceso(Funkcio(Datumoj, Statuso, Titoloj, Config) {

Var getLinksResponse = datumo;

GetLinksResponse.Valoro.ForEach(Funkcio(TheResult) {

// Kaj tiel plu kaj do #?a?mo

Tio ĉi estis laboranta nuran monpunon en du malsama SharePoint enretaj medioj. Tamen, Kiam mia kolego ported ?i al Cloudshare okazo, Li estis akiranta HTTP 406 Eraro (Kiu estis la unua tempo mi iam ajn akiris ke unu, Tiel ?? Yay, Mi konjektas). Ni faris iom de esploro kaj rimarkita ke la “Akcepti” titolon estis ekstere. SharePoint enreta estis perfekte #feli?a kun:

Akcepti: Apliko/json

Sed la cloudshare okazo (Kiu estas SP sur prem, Gastigita en virtuala servilo) Dezirita la #klasika?o ??Datumo=verbose?? Aldonita en #anka?:

Akcepti: Apliko/json;Odata=verbose

Ripari tion, Ni aldonis la titolon kiel tia:

Var config = {Titoloj: {
??Ccept?: ??Pplication/json;Odata=verbose?
}
};

$Http.Akiras(ServerUrl,Config)
.Sukceso(Funkcio(Datumoj, Statuso, Titoloj, Config) {

Var getLinksResponse = datumo;

GetLinksResponse.Valoro.ForEach(Funkcio(TheResult) {

// Kaj tiel plu kaj do #?a?mo

Kiu akiris liverita de la 406, Sed ĝi ankaŭ ŝanĝis la formaton de la respondo. Ĝi estis pli … verbose. (Haha!) Pli da #?an?o estis postulita kaj #?i tie?? La fina rezulto:

Var config = {Titoloj: {
??Ccept?: ??Pplication/json;Odata=verbose?
}
};

$Http.Akiras(ServerUrl,Config)
.Sukceso(Funkcio(Datumoj, Statuso, Titoloj, Config) {

Var getLinksResponse = datumo;

GetLinksResponse.D.Rezultoj.ForEach(Funkcio(TheResult) {

// Kaj tiel plu kaj do #?a?mo

#Tio ?i nur turnita en 30 Eta problemo por ni, Do ni lucked ekstere. Espereble iu trovas #?i tiu utilan.

</Fino>

Kiel-al: Ebligi Multoblan Angular SharePoint #Aranea?o Partoj sur la Sama #Pa?o

#?I tiu blogaj #po?to priskribas kiel vin povas havi multoblan Angular.Js bazis SharePoint #aranea?o partoj (Referencita tra kontenta redaktora #aranea?o parto) Sur la sama paĝo. I?? Vokanta kontentan redaktoran #aranea?o parton (CEWP) Kiu referencas JavaScript konstruis uzanta la Angular.Js kadro ??Ngular #Aranea?o Parto.?

Angular?? Bootstrap procezo estas ekstra facila kaj #preska? #?iu ekzemplo vi trovas sur la interretoj iras ion tiel:

<Html ng-app=??YApp?>

<Blah/><Blah/><Blah/>

</Html>

#Tio ?i rompas malsupren, Tamen, Se vi deziras ebligi multoblan CEWP-a reprezentanta multoblan angular araneaĵaj partoj sur la sama paĝo. Angular volas nur #a?tomate bootstrap #kontra? la unua ng-app instrukcio ?i trovas – Almenaŭ kiel de angular versio 1.3.6. La solvo estas sufiĉe simpla – mane bootstrap via kodo male. La sur nun #?an?i al io tiel:

<Korpo>
<D
Iv #identiga?o=”BootstrapHere” Ng-regilo=”MyController kiel theController”>
<Blah/><Blah/><Blah/>
</Div>
</Korpo>

<Skribo src=”//Ajax.Googleapis.Com/ajax/libs/angularjs/1.3.6/angular.Js”></Skribo>

<Skribo>
Angular.Bootstrap(Angular.Elemento(Dokumento.GetElementById(“BootstrapHere”)),[‘MyApp']);
</Skribo>

Resume, #Anstata? uzanta ng-app sur la elemento fari via bootstrapping, Vi vangofrapo IDENTIGAĴO al tiu elemento. Tiam, Uzi la bootstrap() Metodo sur angular ?i mem kontroli la bootstrapping procezo #?e kuro-tempo. I??E elprovis #tio ?i kun tri malsama Angular #aranea?o partoj sur la sama #pa?o kaj ?i laboras #?armo.

</Fino>

undefinedAboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin