我正试图通过HTTP get方法从这个网站获取数据。本网站有基本认证。数据采用JSON格式。 这是其余的api网站: (https://shoploapi.herokuapp.com/sellers)
用户名:“bhupendra7”&密码:“ice123age456”
<div class="divTableCell" style="padding-right:0px;">
// Code goes here
angular.module('myapp', ['myapp.controller']);
angular.module('myapp.controller', ['myapp.service'])
.controller('testController', function($scope, testService) {
$scope.posts = {};
function GetAllPosts() {
var getPostsData = testService.getPosts();
getPostsData.then(function(post) {
$scope.posts = post.data;
}, function() {
alert('Error in getting post records');
});
}
GetAllPosts();
});
angular.module('myapp.service', [])
.service('testService', function($http) {
//get All NewsLetter
this.getPosts = function() {
return $http.get('https://shoploapi.herokuapp.com/sellers');
};
});
angular.module('myApp', ['base64'])
.config(function($httpProvider, $base64) {
var auth = $base64.encode("bhupendra7:ice123age456");
$httpProvider.defaults.headers.common['Authorization'] = 'Basic ' + auth;
});
这是我的Plunker的链接:
(https://plnkr.co/edit/7pqljm?p=preview)
有人可以帮忙吗?
答案 0 :(得分:0)
您的代码中存在2个问题。
<强> 1。你有一个错字
在angular.module('myApp', ['base64'])
中,将模块名称更改为myapp
<强> 2。您将myapp.controller
注入myapp
模块
将其更改为angular.module('myapp', []);
您还需要重新排序代码。查看我为您创建的Plunker。
即使你解决了上述两个问题,你仍然会遇到来自Heroku的CORS问题。根据您的服务器端技术(NodeJS,Rails等),您需要从服务器启用它才能与您的应用程序通信。您还可以查看JSONP with AngularJS
希望这有帮助