2012-01-28 8 views
5

Przeprowadzam zdalny filtr do sklepu.W ExtJS, jak mogę uczynić store.load (config) wysłać parametry nie ograniczone do predefiniowanych?

kod mam coś takiego:

myStore.load({ 
    limit: 8, 
    foo: 'foo is never sent', 
    filters:[{'property':'some property','value':30,'comparison':'lt','field':'age'}] 
}); 

kończy się wysłaniem do serwera za pomocą metody GET, o parametrach poniżej: (od chrom/Firebug)

_dc:1327757119914 
page:1 
start:0 
limit:8 
filter:[{"property":"some property","value":30}] 

zapytaniu URL:

myServerPage.php?_dc=1327757119914&page=1&start=0&limit=8&filter=%5B%7B%22property%22%3A%22some%20property%22%2C%22value%22%3A30%7D%5D 

Brakuje "foo", a co ważniejsze, w przechodzącym obiekcie "filtrującym" tylko "właściwość" i "wartość" to były t. (Myślę, że te dwie są predefiniowane, konfiguracja filtru nie akceptuje innych kluczy i wartości)

Jak mogę wysłać własne parametry do serwera za pomocą load(), szczególnie w części "filtry"?

+0

myślę, że trzeba poprawić swoje pytanie oznaczone * real * przykładów, ponieważ nie tylko jest * foo * nigdy nie wysłane, ale nie jest * Filtry * - zamiast tego powiedz, że wysyła * coś takiego * (niezbyt precyzyjne), a następnie zawiera * filtr * nie * filtry * –

+0

dzięki za twoją radę. Dokonałem edycji, aby było bardziej zrozumiałe. – gfaceless

Odpowiedz

4
myStore.load({ 
    params: { 
    foo: 'foo' 
    } 
}) 
+0

tak, to działa! dzięki. A co z częścią filtra? – gfaceless

6

inny sposób:

myStore.getProxy().extraParams= {search: "something"} 
+0

Ta metoda umożliwia ustawienie parametrów w locie. To rozwiązanie jest lepsze. –

+0

Dzięki za głosowanie w górę. W rzeczywistości to rozwiązanie jest lepsze, gdy chcesz zachować parametry dla wielu żądań. Metoda obciążenia z parametrami jest lepsza dla danych w locie. – dbrin

+0

Tak, ale kiedy używam Ext.Net nie zawsze mogę wywołać metodę obciążenia, ale muszę zmienić parametry przed załadowaniem i między ładowaniami. W tym przypadku Twoja droga jest lepsza. –

Powiązane problemy