Extjs4 ajax请求在firebug提示aborted

来源:互联网 发布:mac版千牛无法登陆 编辑:程序博客网 时间:2024/06/11 15:04

注意:使用的Extjs版本为4.2.1

本人在程序中有个store使用了AjaxProxy,先看看“愚蠢”的代码:

var chartstore = Ext.create("Ext.data.Store", {model: "ChartModel",proxy: {        type: "ajax",        timeout: Number.MAX_VALUE, //这个程序是大量数据分析,所以我随手就设了这个最大值        url: "XXX/Data",        reader: {            type: "json",            root: "data"        }    },    autoLoad: true,    listeners: {    beforeload:function(store, operation, eOpts){   },   load:function(chartstore, records, successful, eOpts){    }}});

Web程序是用来像服务器请求大数据处理的结果,由于有的时候数据量会很庞大,所以我修改了AjaxProxy的响应等待延迟时间配置"timeou",随手就改成Ext Number的最大值。上述代码在opera中执行获取数据没有问题,IE和Firefox均无法获取,而且是未经任何处理延迟直接被阻止的感觉。在firebug中可以看到以下错误信息:

一开始没有想到是timeout的问题,不过找到了一个stackoverflow提问,链接:http://stackoverflow.com/questions/16921101/getting-aborted-error-for-ext-js-4-ajax-request-synchrnous-call,里面说到了timeout过大的问题。于是将timeout值改为84600000(一天的毫秒数)试试,成功。

每个浏览器对于“连接超时时间”应该都有个上界,比如IE的几个版本,http://support.microsoft.com/kb/181050。时间关系暂时先不找了。