Javascript AngularJS工厂和控制器代码,不生成任何内容
当运行下面的代码时,我的控制台中不会显示任何错误,但正如您在listService中看到的,它会发出带有结果的警报,但警报显示为“未定义” 我最终试图让它运行一个重复,列出视图中的所有组织。感谢您的帮助 这是我的工厂Javascript AngularJS工厂和控制器代码,不生成任何内容,javascript,jquery,html,css,angularjs,Javascript,Jquery,Html,Css,Angularjs,当运行下面的代码时,我的控制台中不会显示任何错误,但正如您在listService中看到的,它会发出带有结果的警报,但警报显示为“未定义” 我最终试图让它运行一个重复,列出视图中的所有组织。感谢您的帮助 这是我的工厂 app.factory(“listService”、[“$rootScope”、“$http”、“$location”、“$routeParams”, 函数($rootScope、$http、$location、$routeParams){ var siteURL=“jdfyhgy
app.factory(“listService”、[“$rootScope”、“$http”、“$location”、“$routeParams”,
函数($rootScope、$http、$location、$routeParams){
var siteURL=“jdfyhgyjdfgyjdgfyhkjyhjk”;
var svc={};
var数据=null;
svc.getListItems=函数(listName){
$http({
url:siteURL+“/”api/web/lists/GetByTitle(“+listName+”)/items“,
方法:“获取”,
async:false,
标题:{
“接受”:“application/json;odata=verbose”,
“X-RequestDigest”:jQuery(“#u-RequestDigest”).val()
},
成功:函数(响应、状态、标题、配置){
数据=响应。数据。结果;
警报(数据);
},
错误:函数(响应、状态、标题、配置){
$rootScope.error=状态;
}
});
}
返回svc;
}
]);
这是我的控制器
app.controller(“readOrganizationsCtrl”、[“$scope”、“$http”、“$location”、“$routeParams”、“listService”,
函数($scope、$http、$location、$routeParams、listService){
$scope.organizations=listService.getListItems(“组织”);
}
]);
最后是我的观点
标题
{{organization.Title}}
添加组织
{{“Error:+Error}
在controller中调用$http后,您可以轻松地从siteURL获取所有组织,以下是工作代码:
JS:
HTML:
plunker:http服务不是
jQuery.ajax
。阅读。为什么有async:false
?$http服务忽略该属性是件好事。@georgeawg-hmm,是的,你是对的。我只是意外地从Darkmatter5 codeAwesome中复制了它,但当我在SharePoint数据上这样运行它时,它不想解析数据,因为返回的结果不是数组。忽略不计,我执行了“$scope.organizations=data.data.d.results;”,现在它可以工作了。@Darkmatter5竖起大拇指!
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope, $http) {
$http({
method: 'GET',
url: 'organizations.json',
headers: {
withCredentials: true,
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
},
})
.then(function successCallback(data) {
$scope.organizations = data.data;
console.log($scope.organizations)
}, function errorCallback(response) {
console.log(response);
console.log('error');
});
});
<tbody>
<tr data-ng-repeat="organization in organizations | filter:search" data-ng-click="editOrganization($index)">
<td>{{organization.name}}</td>
</tr>
</tbody>
app.controller('MainCtrl', function($scope, $http, factory) {
factory.getOrganizations()
.then(function(data){
$scope.organizations = data.data;
console.log($scope.organizations)
})
.catch(function(){
})
});
app.factory('factory',function($http){
return {
getOrganizations: function(){
return $http.get('organizations.json');
}
};
})