我按照这个Lynda教程
获得了一个有效的Ionic App,我也按照这个Lynda教程设置了一个带有一些PHP脚本的MySQL后端(顺便说一下,我强烈推荐这两个教程!现在我正在尝试将我的Ionic应用程序连接到我的MySQL数据库。
Ionic 应用程序目前从 js/data.json
中获取数据,这只是 JSON 数据
In app.js
:
.controller('ListController', ['$scope', '$http', '$state',
function($scope, $http, $state) {
$http.get('js/data.json').success(function(data) {
$scope.artists = data.artists;
});
}]);
我写了一个PHP脚本,显示的内容与data.json
完全相同。我认为这将是弥合两个教程之间差距的良好第一步。
in Load_Data.php
:
$response = "";
//omitting code where I fill $response with all
//the same info as data.json
$json = json_encode($response);
printf("%s", $json);
我比较了data.json
和Load_Data.php
的输出,它们确实是相同的。我还使用 jsonlint 来确保它是有效的 json。但是,将js/data.json
替换为js/Load_Data.php
只会使所有数据消失,而不会发生控制台或服务器错误。
另外,当我尝试从 url 直接转到 js/Load_Data.php
时,我立即被重定向回 index.html
,浏览器会下载文件而不是运行它。我不知道为什么会发生这种情况,因为除了编码和打印 json 数据之外,该文件中没有代码。
如何修复我的代码,以便我的 Ionic 应用程序可以访问我的 MySQL 数据库?
你能检查一下吗:
data = JSON.parse(data);
$scope.artists = data.artists;
它会先解析data
,然后再将其用作 JSON 对象。