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


Angular Js read json data from Wordpress php file

我整天都坐在后面。我正在构建一个插件,并且包含角度js。

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

文件.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 什么也没给我?我在这里做错了什么。

控制器.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>';

你需要在 php 中设置响应头

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