1 // <-----Ajax-----> 2 function loadXMLDoc() { 3 function success(text) { 4 var textarea = document.getElementById('myid'); 5 textarea.value = text; 6 } 7 function fail(code) { 8 var textarea = document.getElementById('myid'); 9 textarea.value = 'Error code: ' + code;10 }11 var request; //创建XMLHttpRequest对象12 if(window.XMLHttpRequest) {13 request = new XMLHttpRequest(); //兼容大多数浏览器14 }else {15 request = new ActiveXObject('Microsoft.XMLHTTP'); //兼容IE5 IE616 }17 request.onreadystatechange = function() { //创建完XMLHttpRequest对象后,先设置onreadystatechange回调函数18 //判断响应结果19 if(request.readyState == 4) { //通过readyState===4判断请求是否完成20 if(request.status == 200) { //如果请求完成,再根据status===200判断是否是一个成功的响应21 return success(request.responseText); //成功,通过responseText拿到响应的文本22 }else {23 return fail(request.status); //失败,根据响应码判断失败的原因24 }25 }else {26 //HTTP请求还在继续。。。27 }28 }29 request.open('Get','a_jax.txt',true); //XMLHttpRequest的open方法有三个参数(‘GET/POST’,‘指定URL地址’,是否使用异步 默认为true 可省略)30 request.send(); //发送请求,GET方法不需要参数;POST方法需要把body部分以字符串或者FormData对象传进去31 console.log('请求已发送,请等待相应');32 }33 34 // <-----跨域----->35 // ajax的URL使用的是相对路径,由于浏览器的同源策略,默认的情况下,JavaScript在发送Ajax请求时,URL的域名必须和当前页面完全一致。即域名相同(www.baidu.com和baidu.com)、协议相同(http和https)、端口相同(:80和:8080),因此需要使用JavaScript请求外域(其他网站)的URL跨域。36 // 使用JSONP进行跨域,它只能用GET请求,这种跨域方式是利用浏览器允许跨域引用JavaScript资源37 // 61 62 63Do Sth64 65 66