如何从编码JSON的PHP页面获取数据?

时间:2016-02-10 04:23:01

标签: php angularjs json ionic-framework

请帮帮我们。我已经想了几个小时已经解决了这个问题,但我还是不知道怎么回事。 ><

这是我的php页面,以JSON格式显示值。

jsonfile.php:

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

    //open connection to mysql db
    $connection = mysqli_connect("localhost","root","","online_evaluation_revised") or die("Error " . mysqli_error($connection));

    //fetch table rows from mysql db
    $sql = "select * from tblaccount";
    $result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));

    //create an array
    $emparray = array();
    while($row =mysqli_fetch_assoc($result))
    {
        $emparray[] = $row;
    }
    echo json_encode($emparray);


    //close the db connection
    mysqli_close($connection);
?>

它显示如下:

[{"account_id":"89","username":"2012100014","password":"25d55ad283aa400af464c76d713c07ad"},{"account_id":"90","username":"2012102400","password":"25d55ad283aa400af464c76d713c07ad"},{"account_id":"91","username":"2012101087","password":"25d55ad283aa400af464c76d713c07ad"},{"account_id":"92","username":"2011102090","password":"25d55ad283aa400af464c76d713c07ad"}]

但是,我不知道如何将这些数据提取/传输到我的services.js和controller.js。

这是我的services.js:

app.service("myService", function($http,$q)
{
  var deferred = $q.defer();
  $http.get('resources/json/jsonfile.php').then(function(data)
  {
    deferred.resolve(data);
  });
  this.getAccounts = function()
  {
    return deferred.promise;
  }

})

这是我的controller.js:

.controller("myCtrl",function($scope,myService)
{
  var promise = myService.getAccounts();
  promise.then(function (data)
  {
    $scope.allAccounts = data;
    var accounts = data;
    console.log($scope.allAccounts);
  });

})

每当我使用上面的格式使用数据时,它在控制台日志中给出了类似的内容:

Object {data: "<?php
↵    //open connection to mysql db
↵    $con…db connection
↵    mysqli_close($connection);
↵?>", status: 200, config: Object, statusText: "OK"}

很奇怪,因为如果我在以JSON格式(不是在PHP中)获取文件时使用上面的格式,它会给我数组对象。

2 个答案:

答案 0 :(得分:0)

为此访问Js文件中的数据你必须使用ajax。 当你想要数据时调用ajax。

了解更多详情,请参阅以下链接。

http://www.w3schools.com/php/php_ajax_database.asp

答案 1 :(得分:0)

尝试:

$http.get('resources/json/jsonfile.php',{ responseType : 'json' })