2016-04-21 26 views
0

我跟着this Lynda tutorial得到一個工作的Ionic應用程序,我也跟着this Lynda tutorial建立一個PHP腳本的MySQL後端(順便說一下,我強烈推薦這兩個教程!)。現在我試圖讓我的Ionic應用程序連接到我的MySQL數據庫。離線應用程序與PHP腳本打破

離子應用目前從js/data.json抓取數據,這僅僅是JSON數據

app.js

.controller('ListController', ['$scope', '$http', '$state', 
    function($scope, $http, $state) { 
    $http.get('js/data.json').success(function(data) { 
     $scope.artists = data.artists; 
    }); 
}]); 

我寫的,顯示同樣的事情爲data.json的PHP腳本。我認爲這將是彌合兩個教程之間差距的良好的第一步。

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.jsonLoad_Data.php輸出和他們確實是相同的。我也使用jsonlint來確保它是有效的json。但是,使用js/Load_Data.php替換js/data.json只會使所有數據消失,不會出現控制檯或服務器錯誤。

另外,當我嘗試從url直接轉到js/Load_Data.php時,我立即被重定向回index.html,瀏覽器下載文件而不是運行它。我不知道爲什麼會發生這種情況,因爲我編碼沒有編碼和打印json數據。

如何修復我的代碼,以便我的Ionic應用程序可以訪問我的MySQL數據庫?

+0

也許你必須[將Content-type頭設置爲application/json](http://stackoverflow.com/a/4064468/3585500)。 – ourmandave

回答

0

你可以檢查此:

data = JSON.parse(data);  
$scope.artists = data.artists; 

它是利用它作爲一個JSON對象之前解析data