Sencha phonegap JSON请求(使用WordPress后端)仅返回5项

时间:2014-03-25 01:13:44

标签: android wordpress cordova sencha-touch jsonp

我正在使用sencha-touch 2和phonegap创建一个应用程序。该应用程序是一个在线报纸。我有一个文章存储的jsonp请求。 JSON请求来自使用JSON API的WordPress。当我在网络浏览器上查看应用程序时,文章的数量是正确的,但是当我在Android手机上构建它时,只有5篇文章出现,无论我在请求中输入“count”参数。

这是我的ArticleList.js(包含一段静态信息)

Ext.define('Commentator.store.Article', {
  extend: 'Ext.data.Store',
  requires: [
    'Commentator.model.Article',
    'Ext.data.proxy.JsonP'
  ],  
  config: {
    storeId: 'ArticleStore',
    autoLoad: false,
    model: 'Commentator.model.Article',
    proxy: {
      timeout: 3000,
      type: 'jsonp',
      url: 'http://[site]/?json=get_category_posts?id=features&post_status=publish',
      reader: {
        type: 'json',
        rootProperty: 'posts'
      }
    }
  }
});

这是我的Main.js

Ext.define('Commentator.controller.Main', {
  extend: 'Ext.app.Controller',

  config: {
    refs: {
      list: 'articles',
      side_list: 'side_menu',
      navBtn : 'button[name="burgerButton]',
      topbar: 'TopBar'
    },
    control: {
      list: {
        onDataRefresh: 'updateList',
        tap: 'updateList'
      },
      topbar: {
        initialize: 'swipeBar'
      }
    }
  },

  swipeBar: function(evt) {
      evt.element.on({
        swipe: function(e, node, options){
          if (Ext.Viewport.getMenus().left._hidden) {
            if(e.direction == "right") {
              Ext.Viewport.showMenu("left");
            }
          } else {
            Ext.Viewport.hideMenu("left");
          }
        }
      });
  },
  updateList: function() {
    console.log(this.getList());
  },

  //called when the Application is launched, remove if not needed
  launch: function(app) {
   Ext.getStore("ArticleStore").load(function(records, options, success) {
     console.log(records);
      if(!success) {
        for(var i = 0; i < 5; i++) {
          console.log("errror");
          Ext.getStore("ArticleStore").load();
        }
      }
    });
      Commentator.view.SubNavigation.setMenu();
    //});
  }

});

Article.js(商店)

Ext.define('Commentator.store.Article', {
  extend: 'Ext.data.Store',
  requires: [
    'Commentator.model.Article',
    'Ext.data.proxy.JsonP'
  ],  
  config: {
    storeId: 'ArticleStore',
    autoLoad: false,
    model: 'Commentator.model.Article',
    proxy: {
      timeout: 3000,
      type: 'jsonp',
      url: 'http://[site]/?json=get_category_posts?id=features&post_status=publish',
      reader: {
        type: 'json',
        rootProperty: 'posts'
      }
    }
  }
});

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。这是WordPress JSON API的一个问题。我们切换到Thermal API,现在它完美运行。