深入理解ajax同步和异步的区别
发布时间:2020-12-16 03:04:56 所属栏目:百科 来源:网络整理
导读:说明: 同步可以改变外部定义的变量值,异步可以提高加载效率 示例: a. 说明: b. 原代码: scriptvar a = 0function loadDoc(file,async=true){if(window.XMLHttpRequest){ // code for IE7+,Firefox,Chrome,Opera,Safari xmlhttp=new XMLHttpRequest();}e
同步可以改变外部定义的变量值,异步可以提高加载效率 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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |