У меня проблема с получением данных из базы данных MySQL в angular $ scope.
Вот мой app.js
var mxscope = angular.module('mxscope', ['ui.router']);
mxscope.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('stock', {
url: '/home',
templateUrl: 'views/stock.html',
controller: 'stockController'
})
});
mxscope.controller('stockController', function($scope, $http) {
$http.get('lib/getStockProducts.php')
.success(function(data) {
console.log(data);
$scope.products = data;
})
.error(function(){
console.log('error whatever');
})
});
Если вы посмотрите на определенные контроллеры, есть один с запросом http.get
И это, похоже, не работает: но я обнаружил странное поведение при тестировании. Все приложение упаковано в приложение .Electron, и когда я пробую приложение, запрос http.get возвращает код внутри файла .php. Примерно так:
getStockProducts.php
<?php
include 'db.php';
$query="select * from sc_products";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
$arr = array();
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$arr[] = $row;
}
}
echo $json_response = json_encode($arr);
?>
с ошибкой dupes:
Ошибка: [ngRepeat: dupes] http://errors.angularjs.org/1.4.7/ngRepeat/dupes?p0=product%20in%20products&р1 = строка% 3AP&р2 = р
Но когда я запускаю то же самое приложение в окне браузера, оно работает как шарм, но все равно возвращает повторяющийся результат.
Любая помощь ?
Задача ещё не решена.
Других решений пока нет …