2016-02-10 2 views
0

Пожалуйста, помогите мне, ребята. Я уже несколько часов решал, как решить эту проблему, но я до сих пор не знаю, как это сделать. > <Как получить данные со страницы PHP, которая кодирует JSON?

Это моя страница 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"} 

Weird, потому что, если я использую формат выше при извлечении файла в формате JSON (не в PHP), он дает мне объекты массива.

ответ

0

Для этого, чтобы получить доступ к данным в файле Js YOU Необходимо использовать ajax. вызов ajax, когда вам нужны данные.

для получения дополнительной информации ниже.

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

0

Try:

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

он не работает. T_T – soshixsnsd

+0

Можете ли вы console.log ответить на ваш ответ Ajax? '$ http.get ('resources/json/jsonfile.php'). Затем (функция (данные) { console.log (данные); });' –

Смежные вопросы