Chak mwa Achiv: Janvye 2015

HTTP 406 Erreur lè w ap itilize angilè $http.get kont SharePoint POZE fini pwen

Ajou: Se Marc Piblisite ndersson ki te atire atansyon sa a gwo moso pyès enfòmasyon sou: http://blogs.Office.com/2014/08/13/json-light-Support-Rest-sharepoint-api-Released/. Sa byen eksplike :).

Sa ka fè pi mal pase tout Tit de pòs blog yon tout tan tout tan! Anyhoo.

Mwen sonje bagay fè tout prototypes m' kont yon bagay O365. Mwen gen bagay pèsonèl mwen konsa, mwen pa gen pou enkyete sou ki afekte okenn lòt moun. Kòm yon a kote-sonje lè nou fè apèl a effectué autour virtuel pou machin avanse ordinateurs nou ak bab PANYÒL-SQL sèvè, IIS, décider vs Hyper-V. VMWare? Anyhoo...

Mwen te devlope yon app itilize angilè anviwònman sa a ki fè sa ki nan, pami lòt bagay, sa a:

$http.get(serverUrl)
.siksè(fonksyon(done, estati, en-têtes, config) {

var getLinksResponse = done;

getLinksResponse.value.forEach(fonksyon(theResult) {

// Et sou Et pour mous

Sa t ap travay jis byen nan de diferan SharePoint online environnements. Sepandan, Lè m' collègue te ports li pou yon bagay Cloudshare, Jezi t' ap yon HTTP 406 erreur (ki te premye fwa a, mwen te gen tout tan tout tan sa a, Se konsa... yay, Mwen panse). Nou te fè yon ti rechèch e te note ke "Aksepte" lento te wete. Sou liy SharePoint li te genyen pafètman kontan ak:

Aksepte: aplikasyon/json

Men bagay cloudshare a (ki se SP sou prem, hébergé nan yon virtuel sèvè) yo te vle a klasik "odata = détaillé" te ajoute nan tou:

Aksepte: aplikasyon/json;odata = détaillé

Pou ka ranje sa, nou te ajoute lento a nan ka konsa:

var config = {en-têtes: {
'Asepte': ' aplikasyon/json;odata = détaillé '
}
};

$http.get(serverUrl,config)
.siksè(fonksyon(done, estati, en-têtes, config) {

var getLinksResponse = done;

getLinksResponse.value.forEach(fonksyon(theResult) {

// Et sou Et pour mous

Sa a debarase de la 406, Men, li te tou chanje fòma repons lan. Li te genyen plis... détaillé. (haha!) Chanjman plis ont mande Et isit la se rezilta final lan a:

var config = {en-têtes: {
'Asepte': ' aplikasyon/json;odata = détaillé '
}
};

$http.get(serverUrl,config)
.siksè(fonksyon(done, estati, en-têtes, config) {

var getLinksResponse = done;

getLinksResponse.d.results.forEach(fonksyon(theResult) {

// Et sou Et pour mous

Sa sèlman fè yo tounen yon 30 ti pwoblèm pou nou, Se konsa nou lucked. Yon moun trouve sa itil.

</fen>

Procédures: Pèmèt miltip pati angilè SharePoint entènèt nan paj menm

Blog sa a postes dekri ki jan ou ka gen plusieurs Angular.js baze pati entènèt SharePoint (référencé via yon pati entènèt contenu editè) nan menm paj la. M ap rele yon pati entènèt contenu editè (CEWP) sa références JavaScript ki te konstwi itilize-Angular.js yon "angilè Web pati."

Pwosesis D' angilè a super fasil Et chak egzanp nou jwenn sou internets yo se yon bagay tankou sa:

<html ng-app = ke:'>

<blah /><blah /><blah />

</html>

Sa a kase, Sepandan, Si ou vle pou pèmèt CEWP miltip repwezantan miltip pati entènèt angilè nan paj menm. Angilè a sèlman otomatikman D' sou premye directive ng-app li twouve – pou pi piti tankou vèsyon pipiti de youn angilè 1.3.6. Solisyon a te trè senp – lamen D' kòd ou olye de. A CI-dessus kounye a chanje pou yon bagay konsa:

<kò>
<kraze-brize
mete sewòm didantite =”bootstrapHere” NG-contrôleur =”myController kòm theController”>
<blah /><blah /><blah />
</div>
</kò>

<script src =”//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js”></script>

<script>
angular.bootstrap(angular.element(document.getElementById(“bootstrapHere”)),[':']);
</script>

Fondamantalman, olye ke yo ap itilize ng-app sou eleman ki pou fè ou bootstrapping, ou souflete yon Didantite sou eleman sa. apre, sèvi ak D' a() metòd angilè sou tèt li pou kontwole bootstrapping a travay nan kous-temps. Mwen te gen tès sa a ak twa pati entènèt angilè diferan nan paj menm Et li travay yon bèlte.

</fen>

undefinedVous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin