Javascript 如何在sencha touch中将值从控制器传递到数据存储

Javascript 如何在sencha touch中将值从控制器传递到数据存储,javascript,extjs,Javascript,Extjs,有人能告诉我如何将数据从控制器传递到SenchaTouch中的数据存储区吗 视图代码 var select = new Ext.form.Select({ id:'selectCity', store: parking.stores.city, displayField: 'Name', valueField: 'Name', placeHolder: 'Choose City', cls:'select' }); var citySearchB

有人能告诉我如何将数据从控制器传递到SenchaTouch中的数据存储区吗

视图代码

var select = new Ext.form.Select({
    id:'selectCity',
    store: parking.stores.city,
    displayField: 'Name',
    valueField: 'Name',
    placeHolder: 'Choose City',
    cls:'select'
});

var citySearchButton = new Ext.Button({
    cls: 'citySearch',
    text: 'Search',
    handler: function () {
        Ext.dispatch({
            controller: parking.controllers.controller,
            action: 'showMapBasedOnCity',
            id: Ext.getCmp('selectCity').getValue()
        });
    }
});
在我看来,我能够将值传递给控制器

 showMapBasedOnCity: function (options) {
        var city = options.id;
        //var data = parking.stores.parkingFacilityByCity.setId(city);
        // parking.views.map.addMap(city);
        parking.views.viewport.setActiveItem(
            parking.views.map, options.animation
        );

    },
问题是如何将值从这里传递到数据存储:我需要控制器的参数(城市值)传递到我的jsonp查询,以返回所需的结果)

任何帮助都将不胜感激

谢谢,
Pawan

在我的表单中单击按钮,我从中获取值并将其传递给分派方法。在分派方法中,我调用控制器

var select = new Ext.form.Select({
    id:'selectCity',
    store: parking.stores.city,
    displayField: 'Name',
    valueField: 'Name',
    placeHolder: 'Choose City',
    cls:'select'
});

var citySearchButton = new Ext.Button({
    cls: 'citySearch',
    text: 'Search',
    handler: function () {
        Ext.dispatch({
            controller: parking.controllers.controller,
            action: 'showMapBasedOnCity',
            id: Ext.getCmp('selectCity').getValue()
        });
    }
});
在控制器中,我调用方法get parking facility by city,该方法将新数据输入存储

  showMapBasedOnCity: function (options) {
        var city = options.id;
        getParkingFacilityByCity(city);
     //   parking.views.map.addMap();
        parking.views.viewport.setActiveItem(
            parking.views.map, options.animation
        );
Data.js文件

parking.stores.parkingFacilityByCity = new Ext.data.Store({
    model: 'PF',
    autoload: true
});

var getParkingFacilityByCity = function (cityName) {
    Ext.util.JSONP.request({
        url: 'http://parking.511.org/index/M_GetParkingFacilityByCity',
        callbackKey: 'callback',
        params: { city: cityName },
        callback: function (data) {
            parking.stores.parkingFacilityByCity.loadData(data.Root);
        }
    });
};
希望这能帮助一些人。可能还有其他方法。但是这个对我来说很有效

parking.stores.parkingFacilityByCity = new Ext.data.Store({
    model: 'PF',
    autoload: true
});

var getParkingFacilityByCity = function (cityName) {
    Ext.util.JSONP.request({
        url: 'http://parking.511.org/index/M_GetParkingFacilityByCity',
        callbackKey: 'callback',
        params: { city: cityName },
        callback: function (data) {
            parking.stores.parkingFacilityByCity.loadData(data.Root);
        }
    });
};