Angularjs http запрос не работает?

У меня такая проблема.

<!DOCTYPE html>
<html>
<head>
<title>The Wedima</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../controllers/intro.js"></script>
</head>
<body>
<br>
<div class="col-lg-5 panel" style="background-color:#BED3F4" ng-app="myModule">
{{10+30}}
<div ng-controller="introCtrl">
<tr ng-repeat="x in results">
<td>{{ x.id }}</td>
<td>{{ x.vision }}</td>
</tr>
</div>
</div>
</body>
</html>

Я создал веб-страницу с помощью angularJ. Я хочу получить данные из базы данных с помощью php. Я создал файлы php и промежуточный javascript следующим образом.

var app = angular.module('myModule', []);
app.controller("introCtrl", function($scope) {
//$scope.m="Tharindu"$http({
method: 'get',
url: '../php/getData.php'
}).then(function chica(response) {
$scope.results = response.data;
});


});

Это мой файл JavaScript, который содержит контроллер.

<?php
include 'config.php';

$sel = mysqli_query($con,"select * from vendor");
$data = array();

while ($row = mysqli_fetch_array($sel)) {
$data[] = array("id"=>$row['id'],"vision"=>$row['vision'],"description"=>$row['description']);
}
echo json_encode($data);

Это мой php-файл, который извлекает данные из базы данных. Но это не работает. Без этого HTTP-запроса, если я определяю переменную, к которой у меня есть доступ в представлении. Но когда я использовал ее с этим, ничего не произошло. Я перепробовал много примеров в переполнении стека. Но я не смог сделать это. Как я могу решить эту проблему?

0

Решение

Попробуй это :

var app = angular.module('myModule', []);
app.controller("introCtrl", function($scope,$http) {
//$scope.m="Tharindu"$http({
method: 'get',
url: '../php/getData.php'
}).then(function chica(response) {
$scope.results = response.data;
});


});
0

Другие решения

Попробуй это

var request = $http.get('../php/getData.php');
request.then(function (response) {
$scope.results = reponse.data;
});

Примечание: не забудьте ввести модуль $ http в ваш контроллер

0

попробуйте код ниже, это зависело от выпадающего списка стран и, при изменении состояния выпадающего списка вызываемых состояний.
не стесняйтесь задавать любые вопросы.

<?php
//load_country.php
$connect = mysqli_connect("localhost", "root", "", "amit_db");
$output = array();
$query = "SELECT * FROM country ORDER BY country_name ASC";
$result = mysqli_query($connect, $query);
while ($row = mysqli_fetch_array($result)) {
$output[] = $row;
}
echo json_encode($output);
?>
<?php
//load_state.php
$connect = mysqli_connect("localhost", "root", "", "amit_db");
$output = array();
$data = json_decode(file_get_contents("php://input"));
$query = "SELECT * FROM state WHERE country_id='" . $data->country_id . "' ORDER BY state_name ASC";
$result = mysqli_query($connect, $query);
while ($row = mysqli_fetch_array($result)) {
$output[] = $row;
}
echo json_encode($output);
?>
<?php
//load_city.php
$connect = mysqli_connect("localhost", "root", "", "amit_db");
$output = array();
$data = json_decode(file_get_contents("php://input"));
$query = "SELECT * FROM city WHERE state_id='" . $data->state_id . "' ORDER BY city_name ASC";
$result = mysqli_query($connect, $query);
while ($row = mysqli_fetch_array($result)) {
$output[] = $row;
}
echo json_encode($output);
?>
//index.php
<html>
<head>
<title>Webslesson Tutorial | Dynamic Dropdown list using AngularJS in PHP</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
</head>
<body>
<br /><br />
<div class="container" style="width:600px;">
<h3 align="center">Dynamic Dropdown list using AngularJS in PHP</h3>
<br />
<div ng-app="myapp" ng-controller="usercontroller" ng-init="loadCountry()">


<select name="country[]"  ng-options="y.country_name for  y in countries" ng-model="country" class="form-control" ng-change="loadState()">
<option value="">Select Country</option>
</select>



<br />
<select name="state[]"  ng-options=" state.state_name for state in states" ng-model="state" class="form-control" ng-change="loadCity()">  <option value="">Select state</option>
</select>

<br>
<select name="city" ng-model="city" ng-options="city.city_name for city in cities" class="form-control"><option value="">Select City</option>
</select>
</div>
</div>
</body>
</html>
<script>
var app = angular.module("myapp", []);
app.controller("usercontroller", function ($scope, $http) {
console.log($scope);
$scope.loadCountry = function () {
console.log('called loadCountry');
$http.get("load_country.php")
.success(function (data) {
$scope.countries = data;
})
}
$scope.loadState = function () {

console.log('called loadState');

if ($scope.country)
{
console.log($scope.country.country_id);
$http.post("load_state.php", {'country_id': $scope.country.country_id})
.success(function (data) {
$scope.states = data;
});
}

}

$scope.loadCity = function () {
var state = $scope.state.state_id;
console.log("state :" + state);
$http.post("load_city.php", {'state_id': state})
.success(function (data) {
console.log(data);
$scope.cities = data;
});
}
});
</script>
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector