每月档案: 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(document.getElementById(“bootstrapHere”)),['' myApp]);
</脚本>

基本上, 而不是使用吴 app 在元素上,要做你的引导, 你拍到该元素的 ID. 然后, 使用引导() 上角的方法本身来控制自举过程在运行时. 这已经进行同一页上的三个不同的角 web 部件和它的作品的魅力.

</结束>

undefined订阅我的博客.

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