I write a REST API and the api works fine in browser. But I can not get data from it in AngularJS. My code are as below.
This is what the server response in browser:
[{"id":1,"title":"aaa","content":null},{"id":2,"title":null,"content":null},{"id":3,"title":null,"content":null},{"id":4,"title":null,"content":null},{"id":5,"title":null,"content":null},{"id":6,"title":null,"content":null},{"id":7,"title":null,"content":null},{"id":8,"title":null,"content":null},{"id":9,"title":null,"content":null},{"id":10,"title":null,"content":null},{"id":11,"title":null,"content":null},{"id":12,"title":null,"content":null},{"id":13,"title":null,"content":null}]
Fellow up: Thanks all of you guys, now I know there is a cross domain problem here. But I am not sure why I can still get it from chrome? Will that work if I can add some header to the response on server side?
angular.module('job',[])
.controller('BlogController',['$http',function($http){
this.LoadDate = function(){
$http.get("http://alvin-api.herokuapp.com/application/skills")
.success(function(response) {
alert("success");
}).error(function(response){
alert("error");
});
};
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="job">
{{1+3}}
<div ng-controller="BlogController as b">
<input type='button' value = 'click me' ng-click="b.LoadDate()"/>
</div>
</div>