将AngularJS连接到SharePoint 2010列表

时间:2016-06-13 14:01:48

标签: angularjs api rest sharepoint sharepoint-2010

我正在尝试将我的AngularJS应用程序连接到Sharepoint 2010列表。

我已经尝试了http://test.cstoremaster.com/this教程但是对我来说都没有用。这两个教程正在使用SharePoint 2013。

第一个问题是:“SharePoint 2010是否有RestAPI供我连接?” - 如果SP 2010具有此功能,为什么我无法连接列表?

我的列表名为“Steckbrief_Data”,我正在尝试运行的代码是:

var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope, $http) {
        $http(
        {
            method: "GET",
            url: GetSiteUrl() + "_api/web/lists/getByTitle('Steckbrief_Data')/items"
            headers: {"Accept": "application/json;odata=verbose" }
        }).success(function (data, status, headers, config) {
            alert("success");
            $scope.Employees = data.d.results;
        }).error(function (data, status, headers, config) {
            alert("error");
        });
    }); 

function GetSiteUrl() {
    var urlParts = document.location.href.split("/");
    return urlParts[0] + "//" + urlParts[2] + "/" + urlParts[3] + "/" + urlParts[4];
}   

那么你能告诉我这里出了什么问题吗?

谢谢和问候, 迈克尔

1 个答案:

答案 0 :(得分:0)

SharePoint 2010有一个REST API,但它并不像2013年那样广泛。在你的情况下,' getByTitle'不属于2010 API。

在2010 API中,要获取列表数据,您的网址可能类似于:

  

http://yourserver/yoursite/_vti_bin/ListData.svc/Steckbrief_Data

其中Steckbrief_Data是您想要的数据的列表,http://yourserver/yoursite/是列表所在网站的路径。

如果这不起作用,请在浏览器中首先尝试http://yoursever/yoursite/_vti_bin/ListData.svc/。获取列表的内部名称,然后尝试代替Steckbrief_Data

阅读更多详细信息here