ExtJS Ajax请求超时对Internet Explorer没有影响

我正在使用ExtJS 3.4。 我有一个长时间运行的异步过程,我需要等到它完成。 它适用于Firefox,但Internet Explorer不会等待。 我该如何解决这个问题?

以下是我对客户端代码的看法:

function SaveUser(form, myDataObject, url) { if (form.isValid()) { StatusMessage.show('Please wait. New User Registrations may take up to one minute to complete.'); Ext.Ajax.request( { url: url, method: 'POST', timeout: 30000, params: myDataObject, success: function (result, request) { StatusMessage.hide(); formSubmit = Ext.util.JSON.decode(result.responseText); if (!formSubmit.success) { Ext.Msg.show({ title: 'Error', msg: formSubmit.msg, buttons: Ext.Msg.OK, icon: Ext.MessageBox.WARNING, minWidth: 390, maxWidth: 390, closable: false }); } else { ShowRegistered(); } }, failure: function (result, request) { StatusMessage.hide(); ShowServerError(result); } }); } else { ShowValidationErrors(); } } 

这是我对服务器端代码的看法:

 CreateUserInActiveDirectory(user); //Internet Explorer Time Out immediately instead of waiting here System.Threading.Thread.Sleep(20000); AuthenticateUser(user); 

这不是extjs问题,而是IE问题。 实际上,30000是extjs的默认超时。

大多数情况下这是因为全局IE全局超时设置。 看一下ReceiveTimeout键的HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings ,如果它在那里,则将其删除,如果不是以毫秒为单位创建它。

如果此问题是新问题并且以前从未发生过,请检查最近安装的最新软件产品,有几个设置此值。