Я использую Angular 1.3. Я изменил свой код, чтобы использовать Controller as
, используя $ scope. У меня есть URL:
http://localhost:3640/api/v1/topics
Это получает следующее:
JSON[
{
topicId: 17,
title: "This is another BRAND SPANKIN new topic",
body: "This is a message in the body of another topic ftw!",
created: "2014-11-27T05:37:49.993",
replies = null
},
{
topicId: 18,
title: "This is another BRAND new topic",
body: "This is a message in the body of a topic wow!",
created: "2014-11-27T05:37:49.993",
replies = null
}
]
У меня также есть страница под названием индекс-home.js
var app = angular.module("myApp", []);
app.controller("homeIndexController", ["$http", function ($http) {
var msg = this;
msg.dataCount = 0;
msg.replies = [];
$http.get("/api/v1/topics?includeReplies=true")
.success(function(data) {
//Success
msg.replies = data;
})
.error(function() {
//Error
alert('error/failed');
});
}]);
На моей странице I используйте следующие привязки:
<div id="ngController" ng-controller="homeIndexController as hic">
...
<h3>Message count: {{hic.dataCount}}</h3>
...
<div class="message row" data-ng-repeat="i in hic.data">
<div class="title">{{i.title}}</div>
<div class="date">{{i.created}}</div>
<div class="contents">{{i.body}}</div>
</div>
Я знаю, что URL-адрес в $ http работает, потому что я попробовал его сам в браузере и скрипаче, и он вернул json. Но когда я использую его в своем угловом приложении, я получаю результат .error (который является предупреждением о FAIL.
Я попытался удалить http://localhost:3640
и просто использовать /api/v1/topics
, когда я это сделаю, я не получаю результат ошибки больше. Я знаю, что мой контроллер работает и привязку к странице, потому что я вернусь 0 для dataCount
.
Что я делаю неправильно в методе $http
? является ли мой синтаксис не так?
Перейдите на страницу инструментов Chrome, вкладку «Сеть» и посмотрите, запущен ли запрос из браузера. если да, проверьте данные запроса и поток ответов. –
@MadhavanKumar Да, вызов сделан, и json возвращается в ответ. –
Благодарим вас за помощь @MadhavanKumar, что вы заставили меня идти по пути, который я совершенно откровенно не использовал для моей отладки. проверяя инструменты F12, чтобы увидеть ответ на данные и т. д. Но проблема была на самом деле очень глупо. Я просил «ng-repeat =» i в hic.data «вместо« ng-repeat = »i в hic.отвечает «явно ошибка новобранец, но трудно поймать, потому что один заострен на другом. Таким образом, практически не было смысла, что я делал, не присмотревшись к коду. Обычно это проблема в JavaScript. У нас нет компилятора или типов чтобы помочь нам там и сказать, что придурок, который вы называете неправильным. –