被请求的页面(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访问就没问题了