Roamswind

          2005年12月19日

          AJAX--這東東就是好

                最近有一個(gè)功能就是在客戶添加或者修改的時(shí)候能夠動(dòng)態(tài)的根據(jù)所填寫的內(nèi)容與數(shù)據(jù)中的數(shù)據(jù)進(jìn)行比較提供預(yù)警信息,但是不影響客戶的增加和修改,只是簡單的提示一下.
             因?yàn)闃I(yè)務(wù)數(shù)據(jù)涉及的對象比較的多.等客戶提交后再來比較的話,很難達(dá)到這樣的目的,所以我就選擇了AJAX這個(gè)東西,果然很不錯(cuò),處理起來一切都那么的美妙.
             首先在要處理的地方第一兩個(gè)javascript函數(shù):
                  function getmount()//統(tǒng)計(jì)取值
          {
            var url = "servlet/SelectCountServlet?&A="+document.all("A").value+"&B="+document.all("B").value;
          //A和B都是剛剛填入的值
              if (window.XMLHttpRequest) {
                  req = new XMLHttpRequest();
              } else if (window.ActiveXObject) {
                  req = new ActiveXObject("Microsoft.XMLHTTP");
              }
              req.onreadystatechange = processRequest;
              req.open("GET", url, true);
              req.send(null);
          }

          //將返回的XML格式的數(shù)據(jù)賦給頁面的隱藏變量.
          function processRequest() {
              if (req.readyState == 4) {
                  if (req.status == 200) {
                  var Head = req.responseXML.getElementsByTagName("Head");
           document.all('HeadValue').value=Head[0].firstChild.data;
                var Collect = req.responseXML.getElementsByTagName("Collect");
                document.all('CollectValue').value=Collect[0].firstChild.data;
            
                  } else {
                   document.all('HeadValue').value=-1;
                   document.all('CollectValue').value=-1;
                  }
              }
          }

          接著就可以定義一個(gè)servlet來處理上面的請求:
             主要的方法是用xml格式返回?cái)?shù)據(jù)流
             response.setContentType("text/xml");
            response.setHeader("Cache-Control", "no-cache");
            // String state = request.getParameter("state");
            StringBuffer sb = new StringBuffer("<value>");
                          sb.append("<A>").append(A_value).append("</A>").append("<B>").append(B_value).append("</B>");

            sb.append("</value>");
            PrintWriter out = response.getWriter();
            out.write(sb.toString());
            out.close();
          就這么簡單.A_value,B_value可以利用javaBean去從數(shù)據(jù)庫中取值.接下來來的一些處理就不用過多介紹了,只是簡單的在頁面提交的時(shí)候判斷一下,彈出一個(gè)警告對話框就ok了.
           
            其實(shí)這樣做的好處多多

          posted @ 2005-12-19 13:48 流浪的風(fēng) 閱讀(221) | 評論 (0)編輯 收藏

          <2005年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 吉木萨尔县| 北京市| 辉南县| 德保县| 清原| 乐昌市| 旌德县| 长泰县| 白银市| 罗定市| 理塘县| 贵州省| 通渭县| 久治县| 土默特右旗| 界首市| 德昌县| 健康| 新宁县| 驻马店市| 墨竹工卡县| 上犹县| 綦江县| 高台县| 沾化县| 海兴县| 丰台区| 始兴县| 射阳县| 天台县| 达州市| 长治县| 炉霍县| 安龙县| 旌德县| 营山县| 九龙县| 准格尔旗| 自治县| 道真| 黄梅县|