Я пишу мобильное приложение на основе базы данных, используя AngularJS в качестве MVC, и для обработки областей данных и т. Д. В Ripple и просмотра кода как веб-страницы, мои методы работают безупречно. Данные базы данных отображаются без проблем, однако при запуске приложения на устройстве все области данных базы данных остаются пустыми.
Я удалил php и заглянул в самый простой пример в мире, возможно, мои звонки были бесполезны, или php не возвращал данные должным образом, но даже в этом случае области были пустыми, когда я отлаживал их на устройстве. Ниже мой код для простой пробной версии. Имейте в виду, я ЗНАЮ, что это не безопасно, это не рабочий код, а упрощенный пример для доказательства концепции.
Угловой (ng-init.js)
//Whitelist myserver.com
$sceDelegateProvider.resourceUrlWhitelist(['self', 'http://myserver.com:xxxx/**', 'https://myserver.com:xxxx/**']);
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common["X-Requested-With"];
$httpProvider.defaults.headers.common["Accept"] = "application/json";
$httpProvider.defaults.headers.common["Content-Type"] = "application/json";
// ======= View Controller ======== //
app.controller('DashController', function($scope, ScheduleFactory) {
function initSchedule() {
ScheduleFactory.getSchedule().success(function(data) {
console.log(data);
$scope.schedules = data;
});
}
initSchedule();
});
// =========== Factories ========== //
app.factory('ScheduleFactory', function($http) {
var factory = {};
factory.getSchedule = function() {
return $http.get('http://myserver.com:xxx/user/schedule/simpleschedulequery.php');
};
return factory;
});
simpleschedulequery.php
<?php
// mysqli connection declaration
//No offence, but ill not be posting that online :P
//The variable created for it is $scheduleconnect
// mysqli connect statement
$fetch = mysqli_query($scheduleconnect, "SELECT * FROM schedules");
//set up the array creator
$return_arr = array(); //array variable declaration
while ($row = mysqli_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['name'] = $row['name'];
$row_array['atime'] = $row['atime'];
//push the output of all the row array statements to the array variable
array_push($return_arr, $row_array);
}
//encode the array variable as json
echo json_encode($return_arr);
?>
и наконец мой код отображения Dash.html
Примечание: этот вид обрабатывается ng-view, и контроллер подключается к нему.
<table>
<tbody>
<tr ng-repeat="schedule in schedules">
<td>{{schedule.name}}</td>
<td>{{schedule.atime}}</td>
</tr>
</tbody>
</table>
Кто-нибудь может дать мне знать, что здесь может пойти не так? Заранее спасибо!
Задача ещё не решена.
Других решений пока нет …