Tengo una tienda almacenada en búfer que hace una llamada ajax. Tengo alrededor de 40 registros en total. Quiero que se activen las múltiples llamadas ajax al desplazar la página. Sin embargo, tan pronto como cargo la página, veo que se realizan múltiples llamadas ajax incluso sin desplazarse. ¿Qué cambio se necesita para que este comportamiento ocurra solo cuando me desplazo por la página (es decir, las llamadas ajax posteriores se realizan solo al desplazarme)? ¡Cualquier ayuda sería genial!
Mi tienda almacenada en búfer es la siguiente:
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 } });El resultado de la llamada ajax es el siguiente: La carga útil que se envía es:
_dc: 1647375142598 page: 1 start: 0 limit: 10La respuesta de la llamada 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: trueTiene varias llamadas porque extjs intenta obtener tantos datos como necesita para llenar la cuadrícula visible MÁS 2.
Si puede ver 26, esto haría 4 llamadas iniciales.
Para recibir una sola llamada, debe configurar pageSize en 30.
Si desea tener menos llamadas, debe aumentar el pageSize de página en el proxy, lo que aumenta el limit .