将 AngularJS 连接到 SharePoint 2010 列表

Connect AngularJS to SharePoint 2010 List

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

我试过 this and this 教程,但都不适合我。这 2 个教程使用的是 SharePoint 2013。

那么第一个问题是:"Does SharePoint 2010 have a RestAPI for me to connect with?" - 如果 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];
}   

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

谢谢和问候, 迈克尔

SharePoint 2010 有一个 REST API,但它没有 2013 的那么广泛。在您的情况下,'getByTitle' 不属于 2010 API。

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

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

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

如果这不能马上奏效,请在浏览器中先尝试 http://yoursever/yoursite/_vti_bin/ListData.svc/。获取列表的内部名称并尝试用它代替 Steckbrief_Data

阅读更多详细信息here