Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Помогите пожалуйста разобраться с $http сервисом (https://javascript.ru/forum/angular/55986-pomogite-pozhalujjsta-razobratsya-s-%24http-servisom.html)

Paul_Wahtel 24.05.2015 15:43

Помогите пожалуйста разобраться с $http сервисом
 
Всем привет, у меня есть БД и я делаю приложение где можно добавлять юзеров, просматривать их удалять и переписывать их информацию, я сделал форму и у меня получается добавлять юзеров, делаю я это так, создал обычную html форму на кнопку submit повесил ng-click с функцией, и дальше написал контроллер
app.controller('MainController', ['$scope', '$http', function($scope, $http) {
	
	$http.get('server.php')
	.success(function(data) {
		$scope.users = data
	})
	.error(function(err) {
		console.log(err);
	});

	$scope.addUser = function() {
		$http.post('server.php', {'name':$scope.name, 'email':$scope.email, 'telephone':$scope.telephone, 'city':$scope.city,
		'address':$scope.address, 'state':$scope.state, 'zip':$scope.zip})
			.success(function(data) {
				console.log(data);
			})
			.error(function(err) {
				console.log(err);
			});
	}
}]);


и сервер

<?php
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "000000");
define("DB_NAME", "users");


mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD);
mysql_select_db(DB_NAME);

if ($_SERVER['REQUEST_METHOD'] == "POST") {
  $data = json_decode(file_get_contents("php://input"));
  $name = mysql_real_escape_string($data->name);
  $email = mysql_real_escape_string($data->email);
  $telephone = mysql_real_escape_string($data->telephone);
  $city = mysql_real_escape_string($data->city);
  $address = mysql_real_escape_string($data->address);
  $state = mysql_real_escape_string($data->state);
  $zip = mysql_real_escape_string($data->zip);



  $sql = "INSERT INTO info(`name`, `email`, `telephone`, `city`, `address`, `state`, `zip`)VALUES(
   '".$name."', '".$email."', '".$telephone."', '".$city."', '".$address."', '".$state."', '".$zip."')";
  mysql_query($sql) or die(mysql_error());
} elseif ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $sql = 'SELECT * FROM `info` ';
    mysql_query($sql) or die(mysql_error());
    mysql_close();
}



?>

проблема в том, что я очевидно туплю и у меня не получается взять информацию обо всех юзерах, и вывести ее например где то под формой, в index.html я это пытаюсь сделать так
<div class="container">
  <form>
    Name <input type="text" ng-model="name"></br>
    Email <input type="text" ng-model="email"></br>
    Telephone <input type="text" ng-model="telephone"></br>
    City <input type="text" ng-model="city"></br>
    Address <input type="text" ng-model="address"></br>
    State <input type="text" ng-model="state"></br>
    ZIP <input type="text" ng-model="zip"></br>
    <input type="button" value="submit" ng-click="addUser()">
  </form>

<div ng-repeat="user in users">
    {{user.name}}
  </div>
</div>

может кто то подскажет, буду благодарен, в интернете не могу найти пример где показывали бы и клиентскую и серверную сторону, может я запрос не так пишу?

ksa 25.05.2015 08:47

Цитата:

Сообщение от Paul_Wahtel
может кто то подскажет

Начнем с того, что тебе нужно научиться делать тестовые примеры...

Вот пример вывода массива объектов

<!DOCTYPE html>
<html ng-app>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
<link rel="stylesheet/less" type="text/css" href="style.less">
<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<div ng-init="users = [
  {name:'John', age:25, gender:'boy'},
  {name:'Jessie', age:30, gender:'girl'},
  {name:'Johanna', age:28, gender:'girl'},
  {name:'Joy', age:15, gender:'girl'},
  {name:'Mary', age:28, gender:'girl'},
  {name:'Peter', age:95, gender:'boy'},
  {name:'Sebastian', age:50, gender:'boy'},
  {name:'Erika', age:27, gender:'girl'},
  {name:'Patrick', age:40, gender:'boy'},
  {name:'Samantha', age:60, gender:'girl'}
]">
<div ng-repeat='user in users'>{{user.name}}</div>
</body>
</html>


Часовой пояс GMT +3, время: 15:06.