Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用angularjs在RestApi中获取列表数据_Angularjs_Outlook Restapi - Fatal编程技术网

如何使用angularjs在RestApi中获取列表数据

如何使用angularjs在RestApi中获取列表数据,angularjs,outlook-restapi,Angularjs,Outlook Restapi,下面是我如何在AngularJS中使用RESTAPI获取列表数据的代码。在这里,我遇到了无法绑定sp中的列表数据的问题。我发现无法调用控制器 var myAngApp=angular.module('SharePointAngApp',[]); 警报(“sss”); myAngApp.controller('spCustomerController',函数($scope,$http){ $http({ 方法:“Post”, url:appWebUrl+“/”api/SP.AppContext

下面是我如何在AngularJS中使用RESTAPI获取列表数据的代码。在这里,我遇到了无法绑定sp中的列表数据的问题。我发现无法调用控制器


var myAngApp=angular.module('SharePointAngApp',[]);
警报(“sss”);
myAngApp.controller('spCustomerController',函数($scope,$http){
$http({
方法:“Post”,
url:appWebUrl+“/”api/SP.AppContextSite(@TargetSite)/web/lists/getByTitle('InfoList')/items?@TargetSite=“+targetSiteUrl+”,
标题:{“接受”:“应用程序/json;odata=verbose”}
}).success(函数(数据、状态、标题、配置){
$scope.customers=data.d.results;
}).error(函数(数据、状态、标题、配置){
});
$(文档).ready(函数(){
var appWebUrl=“”;
var targetSiteUrl=“”;
var ready=false;
var params=document.URL.split(“?”[1]。split(“&”);
对于(变量i=0;i

标题
雇员
单位
{{customer.Title}}
{{customer.Employee}}
{{customer.Company}}

$。getScript必须完成,然后调用$http,还需要传递URL的变量。 看看这个

var myAngApp = angular.module('SharePointAngApp', []);
myAngApp.controller('spCustomerController', function ($scope, $http, $location) {
    var params = $location.search();
    var appWebUrl = params.SPAppWebUrl;
    var targetSiteUrl = params.SPHostUrl; 
    var ready_check = false;

    // this has to finish and then call getData
    ready().then(getData);

    function ready() {

        // load the request executor script, once ready set a flag that can be used to check against later
        return $.getScript(appWebUrl + "/_layouts/15/SP.RequestExecutor.js", function () {
            ready_check = true;
        })

    }

    function getData() {
        return $http({
            method: 'POST',
            url: appWebUrl + "/_api/SP.AppContextSite(@TargetSite)/web/lists/getByTitle('InfoList')/items?@TargetSite='" + targetSiteUrl + "'",
            headers: { "Accept": "application/json;odata=verbose" }
        }).success(function (data, status, headers, config) {
            $scope.customers = data.d.results;
        }).error(function (data, status, headers, config) {
        });

    }

});

您应该看看这个,可能会有所帮助。

最终找到了解决方案,但有一个小问题,它只能读取第一个列,即标题,其他项目无法循环检查$http中的url
var-appWebUrl,targetSiteUrl;
var ready=false;
var myAngApp=angular.module('SharePointAngApp',[]);
myAngApp.controller('spCustomerController',函数($scope,$http){
var params=document.URL.split(“?”[1]。split(“&”);
对于(变量i=0;i});您在控制台中看到任何错误吗?是。。!我发现一个错误“appWebUrl未定义”,感谢您的友好重播。。!我尝试了你的代码,但它甚至不工作。我发现新的错误“targetUrl未定义”我输入错误,它应该是
targetSiteUrl
。立即重试一旦agian发现相同的问题,是否可以检查代码以加载资源:服务器以404(未找到)的状态响应。能否
console.log(data)
在这一行之前
返回$http({