无法在角度 js 中将参数传递给 http get 请求

Unable to pass argument to http get request in angular js

本文关键字:参数传递 http get 请求 js      更新时间:2023-09-26

我对angular js几乎是新手。我正在尝试做的是将一个整数参数传递给控制器中的 http get 请求。这就是我的示例代码的样子。

(function() {
    angular
        .module('myApp.directory', [])
        .factory('NewsService', function($http) 
        {
            return {
                getallnews: function() {
                    return $http.get('get_all_news_feed.php?page='+pageNumber);
                }
            };
        })
        .factory('NewsFeed', function(directoryService) {
            var NewsFeed = function() {
                this.items = [];
                this.busy = false;
                this.pageNumber = 1;
            };
            NewsFeed.prototype.nextPage = function() {
                if (this.busy) return;
                this.busy = true;
                NewsService.getallnews().success(function(data) {
                    var itemData = data;
                    for (var i = 0; i < itemData.length; i++) {
                        this.items.push(itemData[i]);
                    }
                    this.pageNumber++;
                    this.busy = false;
                }.bind(this));
            };
            return NewsFeed;
        })
        .controller('MyController', function(NewsFeed, NewsService) {
            var inst = this;
            inst.news = new NewsFeed();
        });         
})();

我正在构建一个新闻提要应用程序。 新闻是从get_all_news_feed.php页面获取的,我想将参数pageNumber传递给它。这是在以角度实现无限滚动时。

我收到未定义的错误。有什么想法吗?

修改工厂方法以接受pageNumber作为参数

getallnews: function(pageNumber) {
    return $http.get('get_all_news_feed.php?page='+pageNumber);
}

调用方法时传递它

NewsService.getallnews(this.pageNumber)