我非常新的AJAX的东西,但现在我想为某个值设置为基于状态的文档的全局变量在回调函数xmlHttpReq.onreadystatechange改变,我用类似有没有办法在回调xmlHttpReq.onreadystatechange的文档中更改全局变量?
function checkFile(fileUrl) {
var xmlHttpReq = false;
var self = this;
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
if(self.xmlHttpReq == null){
alert("Your browser does not support XMLHTTPReq")
}
self.xmlHttpReq.open('HEAD', fileUrl, true);
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
if (self.xmlHttpReq.status == 200) {
window.rett = 1;
//alert(window.rett);
} else if (self.xmlHttpReq.status == 404) {
window.rett = 0;
//alert(window.rett);
}
}
}
self.xmlHttpReq.send();
}
我用的是checkFile
在一个jQuery模板是这样的:
<script id="resultTemplate" type="text/x-jquery-tmpl">
<li> ${checkFile(link)} <b> {{if window.rett == 1 }} ${link} {{/if}}</b> </li>
</script>
,但是当我在一个jQuery模板访问window.rett
,它说不确定...
的reaso n我想获得全局值是我想根据全局值生成不同的GUI。
也许这不是使用全局变量的好习惯吗?任何建议表示赞赏。
它只是一个成功和错误的情况,你想渲染不同? – SHANK 2013-04-06 06:07:25
@SHANK我想也许不是。我今天刚学过这些东西,并且正在尝试构建一些东西,当我遇到这个问题时...... – monica 2013-04-06 06:09:55
您刚刚编辑了代码以使用事件?您的事件处理程序中的警报是否在正确的时间触发? – 2013-04-06 06:26:57