每月檔案: 1 月 2015

HTTP 406 使用角 $HTTP.get 針對 SharePoint 休息結束點時的錯誤

更新: 馬克 AD ndersson 指出資訊這個偉大的作品: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. 這也解釋了很多 :).

這可能是最糟糕的一篇博客文章標題過! 安美居.

我通常做所有我針對 O365 實例的原型. 我有我個人的實例,所以,我不需要擔心影響別人. 順便說一句 — — 記得當我們稱之為進行虛擬機器周圍長滿了苔蘚 — — 我們筆記本電腦上 SQL Server, IIS, 決定 HYPER-V vs. VMWare? 安美居......

已經開發了一個應用程式,在這種環境不使用角, 除其他事項外, 這:

$HTTP.get(serverUrl)
.成功(功能(資料, 狀態, 標題, 配置) {

var getLinksResponse = 資料;

getLinksResponse.value.forEach(功能(結果) {

// 和這麼泡沫

這兩種不同 SharePoint 線上環境中工作正常. 不過, 當我的同事將其移植到一個 Cloudshare 實例時, 他正 HTTP 406 錯誤 (其中第一次我收到過那個, 所以...耶, 我想). 我們做了一些研究,發現"接受"標題關閉. SharePoint 線上感到滿意:

接受: 應用程式/json

但 cloudshare 實例 (即 SP prem, 在虛擬伺服器中承載) 想要經典"odata = 詳細"以及在中添加:

接受: 應用程式/json;odata = 詳細

要解決這個問題, 我們添加了這樣的標題:

var config = {標題: {
接受: 應用程式/json;odata = 詳細 '
}
};

$HTTP.get(serverUrl,配置)
.成功(功能(資料, 狀態, 標題, 配置) {

var getLinksResponse = 資料;

getLinksResponse.value.forEach(功能(結果) {

// 和這麼泡沫

那擺脫 406, 但它也改變了回應的格式. 它是更多......詳細. (哈哈!) 需要更多的變化,這裡是最後的結果:

var config = {標題: {
接受: 應用程式/json;odata = 詳細 '
}
};

$HTTP.get(serverUrl,配置)
.成功(功能(資料, 狀態, 標題, 配置) {

var getLinksResponse = 資料;

getLinksResponse.d.results.forEach(功能(結果) {

// 和這麼泡沫

這只變成 30 我們的小問題, 所以我們很幸運. 希望有人發現這很有用.

</結束>

操作方法: 啟用在同一頁的多個角的 SharePoint Web 組件。

這個博客帖子描述了你如何可以有多個 Angular.js 基於 SharePoint web 部件 (內容編輯器 web 部件通過引用) 在同一頁上. 我打電話內容編輯器 web 部件 (CEWP) 引用 JavaScript 使用 Angular.js 框架"角的 Web 組件"。

角的自舉過程是超級容易,只是大約每個示例,您在互聯網找到了這樣的事情:

<html 吳 app = 'myApp'>

<布拉赫 /><布拉赫 /><布拉赫 />

</html>

這打破了, 然而, 如果您想要啟用多個 CEWP 代表在同一頁的多個角的 web 部件。. 角將只能自動引導反對第一的吳 app 指令它發現 – 至少版本為角 1.3.6. 解決方案非常簡單 — — 那就是手動引導代碼相反. 上述現在更改為這樣的事情:

<正文>
<d
四、 id =”bootstrapHere” 吳控制器 =”作為 theController myController”>
<布拉赫 /><布拉赫 /><布拉赫 />
</div>
</正文>

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

<腳本>
angular.bootstrap(angular.element(這段代碼(“bootstrapHere”)),['' myApp]);
</腳本>

基本上, 而不是使用吳 app 在元素上,要做你的引導, 你拍到該元素的 ID. 然後, 使用引導() 上角的方法本身來控制自舉過程在運行時. 這已經進行同一頁上的三個不同的角 web 部件和它的作品的魅力.

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin