У меня есть некоторый php-файл, который читает данные из локальной базы данных mongodb, и я пытаюсь использовать angularjs для чтения этих данных и отображения их в html-таблице. В настоящее время я могу отображать и просматривать данные в консоли с помощью XMLHttpRequest. Но на странице ничего не отображается (даже {{}}). Это просто пустая страница. Как я могу отобразить эти данные, используя angularjs?
Вот что отображает в консоли один из элементов данных:
{_id: {…}, name: "Fri Oct 04 2019 06:10:36 GMT+0000 (UTC)", action: "Test action", ao: "MC"}
HTML с кодом JS и AngularJS
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Read All MongoDB</title>
<script src="js/angular.js"></script>
</head>
<body ng-app="myApp">
<div ng-controller="myController" class="content">
<table id="searchTextResults">
<tr ng-repeat="item in items">
<td>{{item.date}}</td>
<td>{{item.action}}</td>
<td>{{item.ao}}</td>
</tr>
</table>
</div>
<script>
// using XMLHttpRequest to display data in the console
var oReq = new XMLHttpRequest();
oReq.onload = function() {
var data = this.responseText;
var parsed = JSON.parse(`[${data}]`);
console.log(parsed);
for(let i = 0; i < parsed.length; i++) {
console.log(parsed[i]);
}
};
oReq.open("get", "get-data.php", true);
oReq.send();
// trying to use angularjs to display data in the html table
var app = angular.module('myApp', []);
app.controller('myController', function($scope, $http) {
$http.get('get-data.php').then(function(response) {
$scope.items = response.items;
});
});
</script>
</body>
</html>
Код PHP:
<?php
try {
$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([]);
$rows = $mng->executeQuery("comments.comments", $query);
$items = array();
foreach ($rows as $row) {
array_push($items, $row);
#echo "$row->name : $row->price\n";
}
echo json_encode($items);
} catch (MongoDB\Driver\Exception\Exception $e) {
$filename = basename(__FILE__);
echo "The $filename script has experienced an error.\n";
echo "It failed with the following exception:\n";
echo "Exception:", $e->getMessage(), "\n";
echo "In file:", $e->getFile(), "\n";
echo "On line:", $e->getLine(), "\n";
}
?>