spPageContextInfo未定义

问题描述 投票:1回答:1

我想在Userpoint中添加userName使用AngularJs。此外,我应该有一个功能,我应该从SharePoint列表中查看所有userName。但我不断收到错误说'_spPageContextInfo未定义'。我开始学习SharePoint和AngularJs。有人可以帮我吗?谢谢。

这是代码:

的index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css" />
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="angular.min.js"></script>
<!-- modules -->
<script src="app.js"></script> 
<!-- controllers -->
<script src="view.js"></script>
<script src="add.js"></script>
</head>

<body ng-app="myApp">
<h3>view</h3>
<div class="view" ng-controller="viewItemsController" ng-repeat="user in users">
    <!-- {{user.ID}}:  -->
    {{user.Title}}, {{user.FirstName}},{{user.LastName}} 
    <br />
</div>

<hr>

<h3>add</h3>
<div class="add" ng-controller="addItemsController">
    <div class="Table">
        <div class="Row">
            <div class="Cell">Title :</div>
                <div class="Cell">
                    <input type="text" id="title" ng-model="title" />
                </div>
        </div>
        <div class="Row">
            <div class="Cell">First Name :</div>
            <div class="Cell">
                <input type="text" id="firstName" ng-model="firstName" />
            </div>
        </div>
        <div class="Row">
            <div class="Cell">Last Name :</div>
            <div class="Cell">
                <input type="text" id="lastName" ng-model="lastName" />
            </div>
        </div>
        <div class="Row">
            <div class="Cell"></div>
            <div class="Cell">
                <input type="button" id="btnAddContact" value="Add Name" ng-click="addContact()" />
            </div>
        </div>
    </div>
</div>
</body>
</html>

app.js //这是模块

var spApp = angular.module('myApp',[]);

view.js //第一个控制器

spApp.controller("viewItemsController", function ($scope, $http) {
    var url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('Users')/items?$select=Title,First_Name,Last_Name";
$http(
{
    method: "GET",
    url: url,
    headers: { "accept": "application/json;odata=verbose" }
}
).success(function (data, status, headers, config) {
            console.log(data);
    $scope.users = data.d.results;
}).error(function (data, status, headers, config) {
});

});

add.js //第二个控制器

spApp.controller("addItemsController",function($scope,$http){
    var url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('Users')/items";
var vm = $scope;
vm.addContact = function () {
    return $http({
        headers: { "Accept": "application/json; odata=verbose", "X-RequestDigest": jQuery("#__REQUESTDIGEST").val() },
        method: "POST",
        url: url,
        data: {
            'Title': vm.title,
            'First_Name': vm.firstName,
            'Last_Name':vm.lastName
        }
    })
    .then(saveContact)
    .catch(function (message) {
        console.log("addContact() error: " + message);
    });
    function saveContact(data, status, headers, config) {
        alert("User Added Successfully");
        return data.data.d;
    }
}

});
javascript angularjs sharepoint
1个回答
0
投票

我查看了你的代码,你在脚本标签上犯了拼写错误如果你看到你的Html代码已添加到你的问题中

<!-- controllers -->
<sript src="view.js"></script>
<sript src="add.js"></script>

我通过纠正下面的拼写错误及其工作来测试我的系统上的代码。

 <!-- controllers -->
    <script src="view.js"></script>
    <script src="add.js"></script>

希望这对你有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.