我刚开始学习网页开发。对不起,如果有类似的问题,但我找不到满意的答案。我正在尝试从angular执行简单的http get请求以获得简单的json响应。但是我可以手动键入localhost:8080/test
并在屏幕上呈现json。是否有任何标准的解决方案从角度服务器获取信息?我相信在正常的应用程序中,我不应该直接看到这个json。我有:
controllers.js
var myApp = angular.module('myApp',[]);
myApp.controller('myController', function($scope, $http) {
$http.get('/test').success(function(data) {
$scope.greeting = data.test;
});
})
server.js
中的
app.get('/test', function(req, res) {
res.status(200).json({'test': 'it works!'});
})
答案 0 :(得分:1)
var myApp = angular.module('myApp', ['ngRoute']);
myApp.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: '/home',
controller:'homeCtrl'
})
.when('/test', {
templateUrl: '/test',
controller:'errorCtrl'
})
.otherwise('/')
}]);
现在您已限制用户访问/测试页面了。然后看这里:
myApp.controller('homeCtrl', function ($scope) {
$scope.getData = function(){
$http.get('/test').then(function success(response){
$scope.data = response.data;
}, function error(error){
console.log(error);
});
}
});
smpApp.controller(errorCtrl', function ($scope, $location) {
$location.path('/home');
});
现在在这样的Html中:
<button type="button" ng-click="getData()">Get Data to user</button>
在Server.Js文件中
app.get('/test', function(req, res) {
var data = {
test : 'it works.fine !!!!'
};
res.json(data);
})
我希望你明白这一点......
谢谢&amp;干杯强>