2011-09-06 17 views
5

Estoy tratando de llamar a una API con una solicitud POST. Pero mi Chrome Inspector me method='GET' en la pestaña de red muestra ...ExtJS 4 - Problemas con JsonStore + Post Request

Aquí está mi código:

Ext.define('TestItem', { 
     extend: 'Ext.data.Model', 
     fields: [ 
      {name: 'id', type: 'int'}, 
      {name: 'name', type: 'string'} 
    ] 
    }); 

    var testStore = Ext.create('Ext.data.JsonStore', { 
     model: 'TestItem', 
     autoLoad: true, 
     proxy: { 
      type: 'ajax', 
      url : '../path_to/api/', 
      method : 'POST', 
      reader: { 
       type: 'json', 
       root: 'data', 
       totalProperty: 'total' 
      } 
     }, 
     baseParams: { 
      operation:'showall' 
     } 
    }); 

Así O quieren llamar a la API con method='POST' y el parámetro operation = showall

Los espectáculos Google inspector Me en la pestaña de la red la siguiente información:

GET ../path_to/api/?_dc=1315297478131&page=1&start=0&limit=25 HTTP/1.1 

¿Por qué es una solicitud GET?

¿Por qué hay algunos parámetros como límite, inicio y CC?

Ya probé 1000 tutoriales y busqué en Google toda la noche.

+1

posibles duplicados [addes tienda extjs4 obtener parametros en la url] (http://stackoverflow.com/questions/6925081/extjs4-store-addes-get-params-in-the-url/6926857#6926857) –

Respuesta

17

En el método extjs4: POST no funciona. En extjs4, cualquier lectura es enviada por GET y cualquier escritura (POST, PUT, DELETE) se envía por POST. Para anular esto, vea actionMethods.

type: 'ajax', 
actionMethods: { 
    create : 'POST', 
    read : 'POST', 
    update : 'POST', 
    destroy: 'POST' 
} 
+0

Sí, muchas gracias! – M00ly

+0

, pero ¿cómo configuro el cuerpo de la solicitud? – Isaac

+0

+1 por la respuesta. –