gpt4 book ai didi

javascript - 无法使用 Angular、django 显示来自 $http get 的数据

转载 作者:行者123 更新时间:2023-12-02 14:25:50 27 4
gpt4 key购买 nike

我有一个在后端使用 Django 开发的应用程序,其中创建了一个 API 来使用 Angular 读取前端中的信息。

我正在使用 $http 调用数据库中的人员列表,在函数中我获取数据,并使用 console.log 显示并且是正确的,但是当我使用 ng-repeat 在模板中调用该信息时,内容 div 已创建,但内部信息未显示,保持空白。

我将不胜感激任何解决此问题的建议。

//自定义 Angular.js

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

var URL = '/api/projects/torres-de-monterrey/segmentation/';

app.controller('cardsCtrl',['$scope', '$http', function($scope, $http) {

$scope.cards = [
{email: 'email@correo.com', segment: 'low'}
];

$http({
method: 'GET',
url: URL
}).then(function successCallback(response) {
// this callback will be called asynchronously
// when the response is available
/*console.log(response.data);*/
$scope.data = response.data;

angular.forEach(response.data, function(value, key){
console.log(key + ': ' + value.email + ' -- ' + value.segment);
$scope.cards.push({email: value.email, segment: value.segment});
});

}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});

console.log($scope.cards);

}]);
<小时/>

//list.html

{% extends "base_app.html" %}
{% block main-container %}
<h1>Actividades de hoy</h1>
{% if activities %}
{% for activity in activities %}
{{activity.activity_type}}
{% endfor %}
{% else %}
<p>No tienes actividades programadas para hoy</p>
<hr />

<div class="segmentBlocks">
<div ng-app="SesamoApp">
<div class="cards" ng-controller="cardsCtrl">
<div class="card" ng-repeat="card in cards | orderBy:'segment'">
<p class="email">{{ card.email }}</p>
<p class="segment">{{ card.segment }}</p>
</div>
{{ data }}
</div>
</div>
</div>
{% endif %}
{% endblock %}
<小时/>

执行后结果截图(无信息)

Screenshot

最佳答案

您应该通过在 app.js 中添加此行来将尖括号 {{ }} 更改为 {$ $}

app.config(['$httpProvider', '$interpolateProvider',     function($httpProvider, $interpolateProvider) {
$interpolateProvider.startSymbol('{$');
$interpolateProvider.endSymbol('$}');
}])

然后这样做

<div class="segmentBlocks">
<div ng-app="SesamoApp">
<div class="cards" ng-controller="cardsCtrl">
<div class="card" ng-repeat="card in cards | orderBy:'segment'">
<p class="email">{$ card.email $}</p>
<p class="segment">{$ card.segment $}</p>
</div>
{$ data $}
</div>
</div>
</div>

关于javascript - 无法使用 Angular、django 显示来自 $http get 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38257903/

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