gpt4 book ai didi

javascript - 将 ng-repeat 中的值与 php 值进行比较

转载 作者:行者123 更新时间:2023-11-28 00:20:42 25 4
gpt4 key购买 nike

我正在尝试使用从 PHP 数据库中获取的数据来填充 javascript 中的数组。我遇到了问题,因为数组没有被循环,并且在运行查询后似乎是空的。

这是我的代码:

PHP

public function getAllFavorites() {
$json = array();
$query = $this -> db -> get("favorites");
$count = $query -> num_rows();
foreach ($query -> result() as $row) {
array_push($json, $row -> product_id);
}
echo json_encode($json);
}

JavaScript

app.controller("MainController", function($scope, $http){
$scope.favorites = getAllFavorites();
});
var getAllFavorites = function() {
$.get("/home/getAllFavoriteIds", function(response){
return response;
});
}

HTML

<div ng-controller="MainController">
<ul>
<li ng-repeat="favorite in favorites">{{favorite}}</li>
</ul>
</div>

我想做的就是用 PHP 返回的数组填充 $scope.favorites,然后使用 ng-repeat 循环。

最佳答案

你的JS有问题。您的代码期望从 getAllFavorites() 同步返回数据,但该函数不返回任何内容。使用 $http 进行调用,它会给你一个 promise 。当客户端获取数据时,您可以使用该 Promise 进行响应。

app.controller("MainController", function($scope, $http){
var getAllFavorites = function() {
return $http.get("/home/getAllFavoriteIds"); // This should really be done in a service
};

getAllFavorites().then(function(response){
$scope.favorites = response.data;
});
});

关于javascript - 将 ng-repeat 中的值与 php 值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30058558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com