posts - 22,comments - 35,trackbacks - 0

          使用javascript代替CGI

          你可能對(duì)CGI腳本比較熟悉,利用CGI你可以通過表單將數(shù)字或者變量從一個(gè)網(wǎng)頁上傳遞到另外一個(gè)網(wǎng)頁。當(dāng)然,你可以利用“POST”將變量以獨(dú)立的線程進(jìn)行傳遞而不顯示在瀏覽器中,或者利用“GET”將變量編碼到URL。

          javascript不能在變量在服務(wù)器端被處理的時(shí)候利用POST方法;但是你可以注意到當(dāng)你提交一個(gè)使用GET方法的表單的時(shí)候,定位條上在文件名之后包含了額外的信息,比如:

          www.pconline.com.cn/mypage.html?name=Mike&age=33

          利用javascript我們可以訪問這些變量,具體可以使用一個(gè)相關(guān)的數(shù)組合來實(shí)現(xiàn),如下所示:

          <SCRIPT language="javascript1.1">

          <!-- Hide from older browsers


          function formInput() {

          // empty object

          }

          var valueOf = new formInput();

          var pairs = document.location.search.substring(1).split("&");

          for (var i=0; i < pairs.length; i++) {

          var values = pairs[i].split("=");

          valueOf[values[0]] = unescape(values[1]);

          }

          // Stop hiding -->

          </SCRIPT>

          以上代碼的作用是從瀏覽器的定位條上將變量提取出來并將它們存儲(chǔ)在一個(gè)相關(guān)的數(shù)組合中。在網(wǎng)頁的其它部分任何的變量都可以這樣被引用,如:valueOf["variablename"],當(dāng)然這些引用要在SCRIPT標(biāo)簽中。

          作為一個(gè)測(cè)試,我們可以利用for .. in loop循環(huán)語句列出所有的被傳遞的變量。這允許我們循環(huán)掉出所有相關(guān)數(shù)組的內(nèi)容而不管我們是不是直到這些變量的名字。具體代碼如下:

          <SCRIPT language="javascript">

          <!-- Hide from older browsers


          for (var x in valueOf) {

          document.write(x + " = " + valueOf[x] + "<br>");

          }

          // Stop hiding -->

          </SCRIPT>

          這時(shí)候就會(huì)輸入以下的內(nèi)容:

          name=Mike

          age=33

          這個(gè)例子雖然沒什么用,但是它只是為了向你顯示程序是如何工作的。這些變量現(xiàn)在就可以用在填充表單元素的內(nèi)容,或者顯示圖片或者創(chuàng)建其它的網(wǎng)頁內(nèi)容,總之可以實(shí)現(xiàn)CGI能實(shí)現(xiàn)的內(nèi)容。

          posted on 2006-08-07 18:17 kelven 閱讀(203) 評(píng)論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 开封市| 甘南县| 巍山| 惠东县| 二手房| 富阳市| 福建省| 凌云县| 项城市| 沙坪坝区| 祁连县| 乐陵市| 江陵县| 容城县| 宝兴县| 宁城县| 温宿县| 汨罗市| 时尚| 灌阳县| 定兴县| 桐柏县| 志丹县| 永济市| 涟源市| 棋牌| 定兴县| 沭阳县| 虎林市| 高青县| 松溪县| 南溪县| 汕头市| 桃江县| 惠安县| 明水县| 阿瓦提县| 临潭县| 那坡县| 永泰县| 庄浪县|