我正在使用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'
}
}
}
});
答案 0 :(得分:0)
我找到了解决问题的方法。这是WordPress JSON API的一个问题。我们切换到Thermal API,现在它完美运行。