尝试集成phonegap 3.0和骨干网时未加载数据

时间:2014-01-02 06:17:14

标签: javascript backbone.js cordova

我使用backbone创建了一个项目,node.js.Its工作正常。 但现在我正在尝试使用phonegap 3.0创建一个应用程序。 截至目前,我只是尝试将骨干网(即客户端)集成到phonegap。 但我的问题是数据没有被加载。我正在运行服务器,在我的骨干模型中,我给的是服务器的IP地址。

以下是模型的代码。

define([
'backbone',
'app/helpers/config'
], function(Backbone, config) {
var Model = Backbone.Model.extend({
    urlRoot: 'SERVERIP:3000/deals'
});

var Collection = Backbone.Collection.extend({
    models: Model,

    initialize: function(attrs) {
        this.options = attrs;
    },

    comparator: function(deal) {
        return deal.get('rating');
    },

    url: function() {
        var url = 'SERVERIP:3000/deals';

        if (this.options.q) {
            url += '/q=' + this.options.q;
        }
        if (this.options.p) {
            url += '/s=' + (this.options.p - 1) * config.pageSize;
        } else {
            url += '/s=' + 0;
        }

        url += '/t=' + config.pageSize;

        return url;
    },

    getPageUrl: function(direction) {
        var page, url = 'serverIP:3000/deals';

        if (direction === 'next') {
            page = this.pageNumber + 1;
        } else if (direction === 'prev') {
            page = this.pageNumber > 1 ? this.pageNumber - 1 : 1;
        }

        if (this.options.q) {
            url += '/q=' + this.options.q;
        }

        return url + '/p=' + page;
    },

    parse: function(response) {
        this.total = response.totalMatchCount;
        this.skipped = response.criteria.resultsToSkip;
        this.pageNumber = Math.round(this.skipped / config.pageSize) + 1;

        return response.matches;
    }
    });

    return {
        model: Model,
        collection: Collection
    };
});

在网址根目录中,我提到了IP地址。您可以检查并告诉我为什么数据没有填充。

1 个答案:

答案 0 :(得分:0)

我打赌你的问题不是网址,而是你在哪里或如何调用fetch()。你在某个地方叫它吗?你能让我们看看这段代码吗?

您不应该将它称为deviceready事件,否则移动设备上可能会发生奇怪的事情,请看一下:

JQuery document.ready vs Phonegap deviceready