同步可以改变外部定义的变量值,异步可以提高加载效率
a. 说明:
b. 原代码:
<script>
var a = 0
function loadDoc(file,async=true){
if(window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{ // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if(async === true){
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState < 4){
// 加载中
}else if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
// 成功
xmlDoc=xmlhttp.responseText;
a = 1
return xmlDoc
}else{
// 失败
xmlhttp.abort()
return
}
}
}
xmlhttp.open("GET",file,async);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send();
if(async === false){
xmlDoc=xmlhttp.responseText;
a = 1
return xmlDoc
}
}
var ret = loadDoc(‘http://localhost/test.php‘,true)
console.log(a)
var ret = loadDoc(‘http://localhost/test.php‘,false)
console.log(a)
</script>
原文地址:http://blog.51cto.com/12173069/2103577
时间: 2024-10-31 20:48:06