2015-05-12 2 views
0

Я получаю объект JSON из WordPress, который выглядит как этотПолучение сообщений по идентификатору

{ 
     "ID": 4164, 
     "title": "24 Horas Non-Stop con Marco Carola", 
     "status": "publish", 
     "type": "post", 
     "author": { 
      "ID": 11, 
      "username": "VIlma Quiros", 
      "registered": "2015-04-16T07:04:04+00:00", 
      "meta": { 
       "links": { 
        "self": "http://urbanetradio.com/wp-json/users/11", 
        "archives": "http://urbanetradio.com/wp-json/users/11/posts" 
       } 
      } 
     }, 
     "content": "<p class=\"p2\"><a href= 

здесь моя служба

.service('FreshlyPressed', function($http, $q) { 
    return { 

    getBlogs: function($scope) { 
     var posts = []; 
     $http.get('http://urbanetradio.com/wp-json/posts') 
     .success(function(result) { 
      $scope.posts = result; 
     }) 
    }, 

    getPostById: function(postId) { 
     var url ='http://urbanetradio.com/wp-json/posts/postId'; 
     return $http.get(url); 
    } 

}); 

и здесь контроллер

.controller('NewsCtrl', function($scope, FreshlyPressed) { 

    $scope.posts = []; 

    $scope.doRefresh = function() { 
    $scope.posts = FreshlyPressed.getBlogs($scope); 
    $scope.$broadcast('scroll.refreshComplete'); 
    } 
    $scope.doRefresh(); 

}); 

и здесь это то, что я хочу:

С этой точки зрения я отображать только название и дату постов, это основной вид

<a ng-href="#/tabs/news/{{post.ID}}"> 
    <h2 ng-bind-html="post.title"></h2> 
    <p>{{:: post.date | date}}</p> 
    </a> 

при нажатии кнопки в этом названии, вы должны быть перенаправлены на целостность в пост, который здесь, на вторичном зрении

<div class="item item-text-wrap item-image padding"> 
    <div class="special-font" ng-bind-html="post.content"></div> 
    </div> 

маршруты

//the route for the main view 

.state('tabs.news', { 
    url: '/news', 
    views: { 
     'tab-news': { 
     templateUrl: 'templates/tab-news.html', 
     controller: 'NewsCtrl' 
     } 
    } 
    }) 

//the route for the second view where you will see the entire post 

.state('tabs.post-detail', { 
    url: '/news/:postId', 
    views: { 
    'tab-news': { 
     templateUrl: 'templates/tab-post-detail.html', 
     controller: 'PostDetailCtrl' 
    } 
    } 
}) 

Я получаю эту ошибку

GET http://urbanetradio.com/wp-json/posts/postId 404 (Not Found)

+0

@ Luke посмотрите на маршрут и код. Должно быть '' 'urbanetradio.com/wp-json/posts/{{post.ID}}' '' ??? – NietzscheProgrammer

ответ

2

Я думаю, вы должны изменить эту функцию как этот

getPostById: function(postId) { 
     var url ='http://urbanetradio.com/wp-json/posts/'+ postId; 
     return $http.get(url); 

как на ваш код сообщения дан параметр, который вы хотите заменить в строке, чем вы должны добавить значение в строку, как в коде

вам необходимо позвонить, например,

FreshlyPressed.getPostById(1);//1 is postid value 
+0

Я получаю '' 'GET http://urbanetradio.com/wp-json/posts/undefined 404 (не найдено)' '' – NietzscheProgrammer

+0

Где вы называете 'getPostById'? –

+0

@NietzscheProgrammer - вам нужно передать значение postId, когда вы вызываете функцию –

Смежные вопросы