У меня есть следующий код, в котором я вызываю службу.php для возврата данных, которые позже будут обновлять мою модель и представление. Хотя, я ввел имя службы и http в контроллере, но это дает мне ошибку.
HTML:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<button ng-click="changeIt()">Change Name</button>{{name}}
<script>
//Module declaration
var app = angular.module('myApp',[]);
//controller declaration
app.controller('myCtrl', function($scope, getName, $http){
$scope.name = "Peter";
$scope.changeIt = function(){
getName.getTheName()
.success(function(data) {
$scope.name = data.name;
});
}
});
//Service Declaration
app.service('getName',function(){
return {
getTheName: function() {
return $http({
url: 'hello.php',
method: 'Post',
headers: {
'Content-Type': 'application/json'
}
});
},
}
});
</script>
</body>
</html>
PHP:
<?php
echo $data=json_encode(array('name'=>'Lara'));
?>
Может ли кто-нибудь помочь мне решить эту проблему?
Вам также нужно будет ввести его в эксплуатацию
app.service('getName',function($http){
return {
getTheName: function() {
return $http({
url: 'hello.php',
method: 'Post',
headers: {
'Content-Type': 'application/json'
}
});
},
}
});
$ http должен быть определен в службе, а не в контроллере
app.service( 'GetName', функция ($ HTTP) {
Вам нужно ввести $ http в сервисе getName
где вы его используете.