Angular Js从Wordpress php文件中读取json数据

时间:2016-03-08 15:17:12

标签: javascript php angularjs json wordpress-plugin

我整天坐在这后面。我正在建立一个插件,我包括角js。

到目前为止一切都很好,但我无法从数据库中读取php文件并将值传递给angular js

file.php

<?php
global $wpdb;
$table_name = $wpdb->prefix . 'workout';

$results = $wpdb->get_results(" SELECT title FROM $table_name ");

$arr=[];
$i=0;

foreach($results as $r)
{
$arr[$i]['title'] = $r->title;
$i++;
}

echo json_encode($arr);
//echo '[{"title":"Demo Title"},{"title":"Demo Title"},{"title":"Demo Title"}]';

我知道我的代码的工作方式是,当我取消注释我的代码的上一部分时,代码工作。因此,由于某种原因,json序列化无法正常工作,注释代码也是echo json_encode($arr);echo json_encode($results);返回的内容。为什么angularjs什么都不给我?我在这里做错了什么。

controller.js

var app = angular.module('myApp', []);

app.controller('workoutCtrl', ['$scope', '$http', function ($scope, $http) {
    $http.get(params.url)
        .success(function(data) {
            $scope.records = data;
        });
}]);

echo '<div ng-app="myApp" ng-controller="workoutCtrl">';
echo '<table class="table">';
echo '<thead>';
echo '<tr >';
echo '<th>Title</th>';
echo ' </tr>';
echo ' </thead>';
echo ' <tbody>';
echo '  <tr ng-repeat = "x in records">';
echo '    <td>{{x.title}}</td>';
echo '  </tr>';
echo ' </tbody>';
echo ' </table>';
echo '</div>';

1 个答案:

答案 0 :(得分:-1)

你需要在php中设置响应头

header('Content-Type: application/json');
echo json_encode($arr);