我整天坐在这后面。我正在建立一个插件,我包括角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>';
答案 0 :(得分:-1)
你需要在php中设置响应头
header('Content-Type: application/json');
echo json_encode($arr);