我的php文件无法在我使用phonegap创建的应用程序中运行

时间:2016-06-07 00:11:13

标签: php angularjs json database cordova

我正在使用phonegap为Android创建音乐/声音播放器应用程序。我正在使用html5 css和angular.js。

我在网络服务器上的内容管理系统中拥有声音的所有细节,所以理想情况下我想在应用程序中使用php从CMS检索信息,然后从CMS内容创建一个json文件,以便有角度可以在客户端使用它。 所以我开始试图让PHP文件在应用程序内工作,但我遇到了麻烦。 我已经将json字符串硬编码到php文件中以进行测试(而不是使用SQL语句从数据库中检索信息)。我正在使用angular的$ http方法从php文件中获取json数据“echod”。

这在我的计算机上进行测试时工作得很完美,但是当我在使用phonegap构建后在手机上测试应用程序时,它没有从php文件中获取json数据。

我已经读过你可以在phonegap中使用php。但我对手机带和角度都是新手,所以也许有一些明显我做错了。

在设备上使用本地数据库也更好吗?

sounds.php:

from __future__ import print_function

import numpy as np
for m in np.arange(0, 4, 1):
   for n in np.arange(1, 4, 1):
       coef = 2*m/n
       print(coef, end=" ")
   print()

controller.js:

<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

$output = '{"sounds": [{"title": "Alarm", "soundType": "Sound Effect", "index": "0", "mp3": "sounds/0001_alarm_high_squeak.mp3"},';

$output .= '{"title": "Alarm 2", "soundType": "Sound Effect", "index": "1", "mp3": "sounds/0001_alarm_high_squeak.mp3"},';
$output .= '{"title": "Alarm 2", "soundType": "Sound Effect", "index": "1", "mp3": "sounds/0001_alarm_high_squeak.mp3"}]}';

echo $output;
?>

HTML:

 //create a module using the Angular objects module() method
    var myApp = angular.module("myModule", []);

myApp.factory("soundsFactory", function($http){
    return {
        getSounds: function(callback){
            $http.get('http://www.example.com/iwp/my_app_php/sounds.php').success(callback);
        }
    };
});

//create and register our controller with this module
myApp.controller("workshopController", function($scope, soundsFactory){

    /*var sounds = [{title: 'Alarm', soundType: 'Sound Effect', index: '0', mp3: 'sounds/0001_alarm_high_squeak.mp3'}, 
            {title: 'Alarm 2', soundType: 'Sound Effect', index: '1', mp3: 'sounds/0002_alarm_high.mp3'},
            {title: 'Mumble', soundType: 'Voice', index: '2', mp3: 'sounds/0003_alarm_low.mp3'}];

    */

    var player = document.getElementById('audio_player');
    $scope.player = player;

    soundsFactory.getSounds(function(results){
        $scope.sounds = results.sounds;
        //alert($scope.sounds);
    });

    $scope.playmusic = function($index){
        var mp3 = $scope.sounds[$index].mp3;
        $scope.selectedIndex = $index;

        $scope.player.setAttribute('src', mp3);

        //load the player after inserting the new mp3 file
        $scope.player.load();
        $scope.player.play();
    }
});

0 个答案:

没有答案