工作中使用ExtJS的2.2.1,我有这应该利用来加载从服务器一段HTML的容器元素:ExtJS的:自动加载不能在IE
autoLoad: { url: 'someurl' }
这工作正常,在Firefox ,但对于IE7这导致在内线,全debug.js语法错误在行7170:
this.decode = function(json){
return eval("(" + json + ')');
};
我通过开启该功能到这个固定的:
this.decode = function(json){
return eval('(function(){ return json; })()');
};
然后自动加载运行良好两个浏览器,但后来有一些奇怪的错误,此外,你真的不想在ExtJS的库来解决这个问题,因为这将是难以维护(尤其是在缩小的EXT-all.js这是就像一条线上的半个Javascript脚本一样)。
我一直没能找到很多关于这个错误。
的变化,我试过:
// With <script> tags around all the HTML
autoLoad: { url: 'someurl', scripts: true }
// With <script> tags around all the HTML
autoLoad: { url: 'someurl', scripts: false }
,反之亦然没有<script>
标签。 HTML中没有任何Javascript,但它应该是可能的,因为最终我们将在返回的HTML中使用Javascript。
的问题是不是在HTML,因为即使是最简单的可能HTML,错误是一样的。
更新 - 响应多诺万:
哪里,这是使用最简单的情况是这样的一个:
changeRolesForm = new Ext.Panel({
height: 600,
items: [{ autoScroll: true, autoLoad: WMS.Routing.Route("GetRolesList", "User") + '?userID=' + id}]
});
没有这里涉及到数据存储。响应类型也是text\html
,而不是json,所以不能混淆它。正如所说的,它在Firefox中运行得很好,在Firefox中,它也执行相同的功能,但没有错误。所以它不像Firefox遵循不同的执行路径,它是一样的,但没有eval
上的错误。
没有任何“答案”解决了错误只发生在IE中的事实。我们在Ext 3.3.0中仍然遇到同样的情况。 – 2011-02-10 22:11:58
嗨朱利安,如果你看看FireBug,从服务器返回什么?如果请求和响应已发布(包括头文件),Ext会在服务器调用服务器之后进行调用 – 2011-02-11 21:36:00