原生JS实现的AJAX方法、JSONP

来源:互联网 发布:为啥叫程序员叫程序猿 编辑:程序博客网 时间:2024/05/16 11:30
<script>function Myajax(url) {          //先声明一个异步请求对象          var xmlHttpReg = null;          if (window.ActiveXObject) {//如果是IE              xmlHttpReg = new ActiveXObject("Microsoft.XMLHTTP");          } else if (window.XMLHttpRequest) {              xmlHttpReg = new XMLHttpRequest(); //实例化一个xmlHttpReg          }          //如果实例化成功,就调用open()方法,就开始准备向服务器发送请求          if (xmlHttpReg != null) {              xmlHttpReg.open("get", url, true);               xmlHttpReg.send(null);              xmlHttpReg.onreadystatechange = doResult; //设置回调函数          }          //回调函数          //一旦readyState的值改变,将会调用这个函数,readyState=4表示完成相应          //设定函数doResult()          function doResult() {                        if (xmlHttpReg.readyState == 4) {//4代表执行完成                                                    if (xmlHttpReg.status == 200) {//200代表执行成功                      var image = document.getElementById("image");     var wx = xmlHttpReg.responseText;//responseText是ewm.java响应的payinfo的值     alert(wx);                       }              }          }              }</script>
<script>function getJSONP(url,callback){   var cbnum ='cb'+getJSONP.counter++;   var cbname = 'getJSONP.'+cbnum;   if(url.indexOf('?') === -1)   url += '?jsonp='+cbname;   else   url += '&jsonp='+cbname;   var script = document.createElement('script');   getJSONP[cbnum] = function(response){      try{         //callback(response);      }      finally{         delete getJSONP[cbnum];//删除该函数         script.parentNode.removeChild(script);//移除script元素      }   };   //立即出发http请求   script.src = url;//设置脚本url   document.body.appendChild(script);}</script>

原创粉丝点击