hgc-ghc
          Good Good Study!!! Day Day Up!!!
          posts - 40,comments - 3,trackbacks - 0
          在js中寫(xiě)入:
          function createXhr() {
          var httprequest = false;
          if (window.XMLHttpRequest) { // if Mozilla, Safari etc
          httprequest = new XMLHttpRequest();
          if (httprequest.overrideMimeType)
          httprequest.overrideMimeType('text/xml')
          } else if (window.ActiveXObject) { // if IE
          try {
          httprequest = new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
          try {
          httprequest = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (e) {
          }
          }
          }
          return httprequest;
          }
          var xhr;//聲明全局變量 用來(lái)表示XMLHttpRequest對(duì)象 
          /**
           應(yīng)用AJAX的步驟
           1、創(chuàng)建XMLHttpRequest對(duì)象 
           2、調(diào)用open()方法打開(kāi)一個(gè)新的請(qǐng)求
           3、調(diào)用send()方法發(fā)送請(qǐng)求到服務(wù)器端
           4、 指定onreadystatechange屬性的值,即readyState 屬性值發(fā)生改變時(shí)調(diào)用哪個(gè)方法,
           注意onreadystatechange屬性的值對(duì)應(yīng)的是一個(gè)回調(diào)函數(shù),所以只寫(xiě)個(gè)函數(shù)名就OK了
           5、編寫(xiě)用于處理 readyState 屬性值發(fā)生改變的方法
           */
          //open()方法中需要的url 通過(guò)這種方式來(lái)解決AJAx的緩存的問(wèn)題 
          function convertUrl(url) {
          var timestamp = (new Date()).valueOf();
          if (url.indexOf("?") >= 0) {
          url = url + "&t=" + timestamp;
          } else {
          url = url + "?t=" + timestamp;
          }
          return url;
          }
          function on_blur() {
          //var mydate = new Date().getTime();
          xhr = createXhr(); //1.創(chuàng)建XmlHttpRequest對(duì)象
          var userId = document.getElementById("userId").value;
          var _userId = encodeURI(encodeURI(userId));
          var myUrl = "CheckIdServlet?id=" + _userId;
          //xhr.open("get","CheckIdServlet?id="+_userId+"&now="+mydate,true);
          xhr.open("get", convertUrl(myUrl), true); //2.調(diào)用open()方法打開(kāi)一個(gè)新的請(qǐng)求
          xhr.send(); //3.調(diào)用send()方法發(fā)送請(qǐng)求到服務(wù)器端
          xhr.onreadystatechange = myCheck; //4.編寫(xiě)用于處理 readyState 屬性值發(fā)生改變的方
          }
          function myCheck() {
          if (xhr.readyState == 4 && xhr.status == 200) { //當(dāng)readyState的屬性為值 為4時(shí)表示HTTP 響應(yīng)已經(jīng)完全接收
          var returnData = xhr.responseText; //當(dāng)前請(qǐng)求的http狀態(tài)碼值200時(shí)表示成功
          alert(returnData); //這是雙重保險(xiǎn) 
          document.getElementById("userIdMessage").innerHTML = returnData;
          }
          }
          posted on 2012-06-26 14:41 宏才 閱讀(178) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): ajax
          主站蜘蛛池模板: 隆昌县| 葫芦岛市| 和龙市| 新野县| 成安县| 建平县| 噶尔县| 平远县| 广宗县| 大竹县| 昆山市| 上思县| 阳城县| 平江县| 拉萨市| 封丘县| 咸阳市| 连南| 永泰县| 徐闻县| 芦山县| 宜州市| 云南省| 南投市| 陇西县| 白银市| 元阳县| 瑞昌市| 辽源市| 南华县| 宁乡县| 闽清县| 吉木乃县| 贵港市| 尚志市| 邵阳县| 宜兰县| 灯塔市| 沐川县| 阳曲县| 团风县|