一段奇怪的ext的代码,为啥参数不变那?

大家先看看代码:
[code="java"]
function playmessagemusic(name) {

    alert("warn.js dbnamedesc:"+name);
    var inputPageSize = 8;
    var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {

        header : '节点',
        dataIndex : 'destionation',
        sortable : true
    },

    {

        header : '时间',
        dataIndex : 'time',
        sortable : true
    }]);


    var infostore = new Ext.data.Store({
        proxy : new Ext.data.HttpProxy({
            url : './warn.do?command=warn'
        }),

        reader : new Ext.data.JsonReader({
            totalProperty : 'messagetotalProperty',
            root : 'messageroot'
        }, [{
            name : 'destionation',
            mapping : 'destionation'
        }, {
            name : 'time',
            mapping : 'time'
        }

        ])
    });

    var infobbar = new Ext.PagingToolbar({
        pageSize : inputPageSize,
        store : infostore,
        displayInfo : true,
        displayMsg : '显示第{0}条到{1}条记录,一共{2}条',
        emptyMsg : '没有记录'
    });


    var grid = new Ext.grid.GridPanel({

        // el : 'grid',
        region : 'center',
        title : '报警详细信息',
        // height : 460,

        autoHeigt : true,
        trackMouseOver : false,
        loadMask : {
            msg : '正在加载数据,请稍后.....'
        },
        ds : infostore,
        cm : cm,

        sm : new Ext.grid.RowSelectionModel(),

        bbar : infobbar,
        viewConfig : {
            forceFit : true
        }

    });

    var panel = new Ext.TabPanel({
        activeTab : 0,// 当前标签为第1个tab(从0开始索引)
        border : false,
        // abelAlign : 'left',
        region : 'north',

        items : [{
            title : "报警音乐",
            html : '<div id="hotMessageShow"  height="100% style="padding:0px 0px 0px 0px;border:1px dashed #000000;text-align: left;color: red;font-size: 15px;">'
                    + musicObj
        }, {
            title : "报警规则",
            html : '<h>24小时内节点的首条未处理消息的时间已超过5分钟</h>'
        }],
        viewConfig : {
            forceFit : true
        }
    })
    var win = new Ext.Window({

        title : 'infoWindow',
        //id:   'warnwindows',
        closable : true,
        width : 560,
        height : 500,
        border : true,
        plain : true,
        draggable : true,
        collapsible : true,
        modal : true,
        closeAction : 'close',
        constrain : false,
        maximizable : true,
        layout : 'border',
        items : [panel, grid]
    })


    infostore.load({

        params : {
            start : 0,
            limit : inputPageSize,
            dbnamedesc : name

        }
    })
    var v = name + "消息报警"
    win.setTitle(v);
    win.show();

}

[/code]
我在另一段js中多次调用了方法playmessagemusic(name),调试显示每次参数name传入的值是不一样的,但方法里的[code="java"]var infostore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : './warn.do?command=warn'
}),[/code]返回的结果都是一样得到的参数都是第一回传入的值,参数是通过[code="java"]infostore.load({

        params : {
            start : 0,
            limit : inputPageSize,
            dbnamedesc : name

        }
    })[/code]的dbnamedesc载入的,为啥会出现这种情况那

[b]问题补充:[/b]
to atian25:因为要监控多个数据库,要跳多个报警窗口出来
[b]问题补充:[/b]
to 各位:我用了baseParams还是不行一样的效果
[b]问题补充:[/b]
to atian25:看过了每次post的参数是一样的,firebug我是常开的
[b]问题补充:[/b]
to altian25:你是看的warn.do的post参数吗

我本地测试了你的代码,如下.
用firebug看,2次post的值是不同的.你用这段看看

[code="java"]Ext.onReady(function(){
Ext.BLANK_IMAGE_URL = '/images/s.gif';
Ext.chart.Chart.CHART_URL = '/js/extjs/3.0/resources/charts.swf';
Ext.QuickTips.init();
//testChartLabel();
var p = new Ext.Panel({
title:'Test',
height:300,
width:600,
renderTo:Ext.getBody(),
buttons:[
{text:'xx',handler:function(){playmessagemusic('xx')}},
{text:'yy',handler:function(){playmessagemusic('yy')}}
]
})

});
function playmessagemusic(name) {
alert("warn.js dbnamedesc:"+name);
var inputPageSize = 8;
var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {

  header : '节点',
  dataIndex : 'destionation',
  sortable : true
},

{

  header : '时间',
  dataIndex : 'time',
  sortable : true
}]);


var infostore = new Ext.data.Store({
  proxy : new Ext.data.HttpProxy({
    url : './warn.do?command=warn'
  }),

  reader : new Ext.data.JsonReader({
    totalProperty : 'messagetotalProperty',
    root : 'messageroot'
  }, [{
    name : 'destionation',
    mapping : 'destionation'
  }, {
    name : 'time',
    mapping : 'time'
  }

  ])
});

var infobbar = new Ext.PagingToolbar({
  pageSize : inputPageSize,
  store : infostore,
  displayInfo : true,
  displayMsg : '显示第{0}条到{1}条记录,一共{2}条',
  emptyMsg : '没有记录'
});


var grid = new Ext.grid.GridPanel({

  // el : 'grid',
  region : 'center',
  title : '报警详细信息',
  // height : 460,

  autoHeigt : true,
  trackMouseOver : false,
  loadMask : {
    msg : '正在加载数据,请稍后.....'
  },
  ds : infostore,
  cm : cm,

  sm : new Ext.grid.RowSelectionModel(),

  bbar : infobbar,
  viewConfig : {
    forceFit : true
  }

});

var panel = new Ext.TabPanel({
  activeTab : 0,// 当前标签为第1个tab(从0开始索引)
  border : false,
  // abelAlign : 'left',
  region : 'north',

  items : [{
    title : "报警音乐",
    html : '<div id="hotMessageShow"  height="100% style="padding:0px 0px 0px 0px;border:1px dashed #000000;text-align: left;color: red;font-size: 15px;">'
        + 'xx'
  }, {
    title : "报警规则",
    html : '<h>24小时内节点的首条未处理消息的时间已超过5分钟</h>'
  }],
  viewConfig : {
    forceFit : true
  }
})
var win = new Ext.Window({

  title : 'infoWindow',
  //id:   'warnwindows',
  closable : true,
  width : 560,
  height : 500,
  border : true,
  plain : true,
  draggable : true,
  collapsible : true,
  modal : true,
  closeAction : 'close',
  constrain : false,
  maximizable : true,
  layout : 'border',
  items : [panel, grid]
})


infostore.load({

  params : {
    start : 0,
    limit : inputPageSize,
    dbnamedesc : name

  }
})
var v = name + "消息报警"
win.setTitle(v);
win.show();

}[/code]

为啥每次都要new一份?

你试试用用baseParams,
例如:
Ext.apply(this.infostore.baseParams, {
xxx : xxxx });
this.infostore.load({ params : {

start : 0,

limit : inputPageSize,

dbnamedesc : name

        }                           });

感谢Rowen帮我重复了第7次。。。

楼主试下baseParams吧,分页查询的时候

用firebug看下每次的ajax的post参数

如图,已经发你短消息
[img]/upload/attachment/140548/517b923f-5eb2-3ba4-9290-c5c1d40ce85b.jpg[/img]