Ext JS 3.4:如何在GET帖子

时间:2015-08-13 16:03:08

标签: javascript extjs

我在Ext JS 3.4中有一个表单:

        function exportIE() {
            //var date = new Date();
            //Ext.getCmp('resolvedID').setValue(date);
            // create the window on the first click and reuse on subsequent
            // clicks
            if (!winie) {
                winie = new Ext.Window(
                        {
                            // applyTo:'hello-win',
                            id : 'ie-cl',
                            layout : 'fit',
                            width : 400,
                            height : 100,
                            closeAction : 'hide',
                            plain : true,
                            title : 'Export Individual User Issues to Excel',
                            items : ieform,
                            buttons : [
                                    {
                                        text : 'Submit',
                                        handler : function() {
                                            var url = "$baseUrl/plugins/servlet/timesheet/exportindividualtoexcel?project=$project&month=$month&year=$year&filtered=true";                                               
                                            if(ieform.getForm().isValid()){
                                            winie.hide();
                                            ieform
                                                    .getForm()
                                                    .submit(
                                                            {
                                                                waitMsg : 'Sending...',
                                                                url : url,
                                                                method: 'GET',
                                                                success : function(
                                                                        response,
                                                                        options) {
                                                                    quickcreateform
                                                                            .getForm()
                                                                            .reset();
                                                                    /*Ext.MessageBox
                                                                    .alert(
                                                                            'Success',
                                                                            'Issue resloved');*/
                                                                    //eraseCookie('timeout');
                                                                    //eraseCookie('counter');
                                                                    store.reload();
                                                                    //storechart.loadData();
                                                                    storechart.reload();
                                                                },
                                                                failure : function(
                                                                        response,
                                                                        options) {
                                                                    /*Ext.MessageBox
                                                                            .alert(
                                                                                    'Error',
                                                                                    'Unable to create issue');*/
                                                                    //eraseCookie('timeout');
                                                                    //eraseCookie('counter');
                                                                    quickcreateform
                                                                            .getForm()
                                                                            .reset();
                                                                    store.reload();
                                                                    //storechart.loadData();
                                                                    storechart.reload();

                                                                }
                                                            });
                                                }
                                        }
                                    }, {
                                        text : 'Close',
                                        handler : function() {
                                            ieform.getForm().reset();
                                            //store.reload();
                                            winie.hide();
                                        }
                                    } ]
                        });
            }
            winie.show(this);
        }

因此,此表单是为下载Apache POI MS Excel文件而制作的,因此我需要将其添加到表单提交成功函数中:

 document.location = request.url;

那我该怎么做?

所以我需要提交GET URL的URL。

2 个答案:

答案 0 :(得分:0)

用于提交表单的网址可从提交中使用的Ext.form.Action获得:

action.getUrl(true)

其中true参数表明它是GET情况,因此需要将表单参数附加到URL。有关详细信息,请参阅source code

action对象可从success函数作为其第二个参数(如documentation所示):

success: function(form, action) {

}

(请注意,由于某种原因,您的代码正在命名参数responseoptions

所以,你只需从成功函数中取出第二个参数并在其上调用getUrl(true)

答案 1 :(得分:0)

基于上面我制作了这段代码,现在它可以工作:

var users = Ext.getCmp('select-user-combo').getValue();

document.location = options.getUrl(false)+"&users="+users;