我非常新的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