请帮帮我们。我已经想了几个小时已经解决了这个问题,但我还是不知道怎么回事。 ><
这是我的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中)获取文件时使用上面的格式,它会给我数组对象。
答案 0 :(得分:0)
为此访问Js文件中的数据你必须使用ajax。 当你想要数据时调用ajax。
了解更多详情,请参阅以下链接。
答案 1 :(得分:0)
尝试:
$http.get('resources/json/jsonfile.php',{ responseType : 'json' })