日期:2014-05-16  浏览次数:20363 次

【ExtJS 4.1】Element.load()加载不成功
被请求的页面(ajax_piece.html)
<p id="msg">This paragraph is for AJAX demo</p>

请求的页面

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="resources/css/ext-all.css"/>
    <script type="text/javascript" src="js/ext-all-debug.js" ></script>
    <script type="text/javascript">
        var myDiv;
        function loadParagraph(){
            Ext.get('container').load({
                url:'ajax_piece.html',
                callback:function(el,success,response){
                    console.debug(success);    //1
                    console.debug(response);   //2
                }
            });
        }
        Ext.onReady(function(){
            myDiv = Ext.get('msg');
            console.debug(myDiv.dom.innerHTML);
            Ext.Function.defer(loadParagraph,1000);
        });
    </script>
</head>
<body>
    <div id="container">
        <div id="msg">This is local msg.</div>
    </div>
</body>
</html>


执行结果
1处为false
2处用FireBug看Dom结构,有N多节点,以下列出几个

status          0
statusText    ""
responseText    "<p id="msg">This paragraph is for AJAX demo</p>"


不明白的是,明明都已经在response中取到了ajax_piece.html中的内容,为什么success还是false?
Element.load应该会把container中原有的html替换成AJAX返回的内容,但是现在没有load成功,所以执行完load后,该页面的div还是显示local msg。

Ext?JS HTML Ajax URL

------解决方案--------------------
status=0本地成功请求是success的,应该是ext只判断200状态,没有判断0状态,搭建服务器通过http访