我有一個進行 ajax 呼叫的緩沖存盤。我總共有大約 40 條記錄。我希望在滾動頁面時觸發多個 ajax 呼叫。但是,一旦我加載頁面,即使沒有滾動,我也會看到多個 ajax 呼叫。僅當我滾動頁面時才需要進行哪些更改才能使此行為發生(即,僅在滾動時進行的后續 ajax 呼叫)?任何幫助都會很棒!
我的緩沖存盤如下:
Ext.define('myStore', {
extend: 'Ext.data.BufferedStore',
requires: [
'myStoremodel' // model that the store takes in
],
storeId: 'myTeststore',
model: 'myStoremodel',
remoteSort: true,
buffered: true,
leadingBufferZone: 2,
trailingBufferZone: 2,
pageSize: 10,
proxy: {
type: 'ajax',
url: "/fetch/getNameList" // the API which returns data to load,
timeout: 5 * 60 * 1000,
reader: {
rootProperty: 'data.name',
totalProperty: 'data.recordSize'
},
simpleSortMode: true
}
});
ajax 呼叫的結果如下: 發送的有效載荷是:
_dc: 1647375142598
page: 1
start: 0
limit: 10
ajax 呼叫回應:
{success: true, errorCode: 0, errorMsg: null,…}
data: {recordSize: 10, limit: 9,…}
name: [{id: 1234, name: "Jake_Mar142022", appId: 1, isClosed: null,…},…]
0: {id: 1234, name: "TimMar142022", appId: 1, isClosed: null,…}
1: {id: 1252, name: "RatMar142022", appId: null, isClosed: null,…}
2: {id: 1253, name: "MycahMar142022", appId: null, isClosed: null,…}
3: {id: 1238, name: "MeganMar142022", appId: null, isClosed: null,…}
4: {id: 1191, name: "MikeMar092022", appId: null, isClosed: null,…}
5: {id: 1271, name: "TomMar142022", appId: null, isClosed: null,…}
6: {id: 1211, name: "RamMar092022", appId: null, isClosed: null,…}
7: {id: 1212, name: "JustinMar092022", appId: 1, isClosed: null,…}
8: {id: 1213, name: "AnnieMar092022", appId: null, isClosed: null,…}
9: {id: 1231, name: "AnnMar142022", appId: null, isClosed: null,…}
limit: 9
recordSize: 41
errorCode: 0
errorMsg: null
success: true
uj5u.com熱心網友回復:
您有多個呼叫,因為 extjs 嘗試獲取盡可能多的資料,因為它需要填充可見網格 PLUS 2。
如果您可以看到 26,這將執行 4 次初始呼叫。
要接聽一個電話,您需要設定pageSize為 30。
我想減少呼叫次數,您必須增加pageSize代理中的 ,這會增加limit.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/449429.html
標籤:阿贾克斯 extjs extjs4 extjs4.2 extjs-商店
下一篇:用水豚填充文本框
