Ext.onReady(function() {
Ext.QuickTips.init();
var form = new Ext.form.FormPanel({
// standardSubmit: true,
// url : '
http://localhost:8080/testweb/TestServlet',
// method : 'POST',
// fileUpload : true,
frame : true,
autoHeight : true,
autoWidth : true,
labelAlign : 'center',
baseCls : 'x-plain',
// layout : 'absolute',
defaultType : 'textfield',
monitorValid : true,
items : [ {
fieldLabel : '问题1',
name : 'q1'
}, {
fieldLabel : '问题2',
name : 'q2'
} ],
buttons : [ {
text : '提交',
formBind : true,
handler : function() {
// form.getForm().getEl().dom.action = '
http://localhost:8080/testweb/TestServlet';// form.getForm().getEl().dom.method = 'POST';
if (form.getForm().isValid()) {
form.getForm().submit({
url : '
http://localhost:8080/testweb/TestServlet',
method : 'POST',
timeout : 10000,
waitTitle : '提交中',
waitMsg : '正在提交您的信息...',
// progress : true,
// closable : false,
params : {
q1:form.getForm().getValues().q1,
q2:form.getForm().getValues().q2
},
success : function(form, action) {
Ext.Msg.alert('成功了', '提交信息成功!', redirectHome);
win.hide();
},
failure : function(form, action) {
Ext.Msg.alert('出错了', '提交信息失败了,对不起!');
}
});
}
}
} ]
});
form.render(document.body);
var win = new Ext.Window({
title : '问题',
autoHeight : true,
autoWidth : true,
layout : 'fit',
plain : true,
bodyStyle : 'padding:5px;',
buttonAlign : 'center',
items : form
});
function redirectHome() {
window.location = '/testweb/';
};
win.show();
});
代码如上。提交的url是在tomcat里,而页面和js脚本是在apache里。
我碰到的问题是,页面提交后,servlet没有接收到任何请求,doPost方法根本没被调用。我用firebug可以看到有网络请求发出去了,地址也没问题,状态200。但是servlet就是没响应。更诡异的是,如果把fileUpload反注释掉,servlet就有响应了!或者我用standardSubmit的方式,servlet也工作正常。
同样的页面和js脚本,如果放到tomcat里去,工作正常。难道和不同容器的submit机制有关吗?
我实在是不知道是为什么,求助各位了,这是为啥啊!!!
--
修改:neoricky FROM 162.105.104.*
FROM 162.105.104.*