Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

221
Vistas
El desplazamiento infinito de Extjs bufferedStore no funciona para activar llamadas Ajax

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: 10

La 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: true
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Tiene 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 .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda