小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用xmlhttp 無聲息提交復(fù)雜表單

 smoking_boy 2005-08-15
Web層改進(jìn)II-用xmlhttp 無聲息提交復(fù)雜表單

    xmlhttp是在RIA時(shí)代沒有來臨之前,最能使B/S程序遠(yuǎn)離每個(gè)動(dòng)作刷新一次頁面的痛苦做法,同時(shí)也是最平民化的一項(xiàng)技術(shù),HelloWord幾句話就完成了。

    不過,大家對xmlhttp的應(yīng)用大多只以Get方式在URL里傳遞少數(shù)的變量。其實(shí)即使是大量數(shù)據(jù)的Form,,只要用Javascript稍加封裝,,一樣可以用簡單的用xmlhttp完成提交,真正做到讓用家賓至如歸,不到頁面本身需要刷新的時(shí)候,決不去刷新用家的界面。

客戶端:

 function xmlhttp_submit(form_object,url)

  for i = 0 to  form_object.elements.length-1
		set elem = form_object.elements(i)
	        form_value=form_value & URLEncoding(elem.name) & "=" & URLEncoding(elem.value) &"&"
  Next

  set xmlhttp = CreateObject("Microsoft.XMLHTTP")
  xmlhttp.open "POST",url,false
  xmlhttp.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"

  xmlhttp.send(form_value)

end function
上面這段代碼遍歷了form里的對象,組裝出form_value字串,然后通過send()方法以POST方式(不受長度限制)發(fā)送給服務(wù)器端。 

又是經(jīng)典的中文編碼問題,需要加多一個(gè)URLEncoding函數(shù)把變量值的字符串編成UTF-8格式,也因此要采用自己不熟悉的VBScript來寫form_submit() 。

Function URLEncoding(vstrIn)
    strReturn = ""
    For i = 1 To Len(vstrIn)
        ThisChr = Mid(vStrIn,i,1)
        If Abs(Asc(ThisChr)) < &HFF Then
            strReturn = strReturn & ThisChr
        Else
            innerCode = Asc(ThisChr)
            If innerCode < 0 Then
                innerCode = innerCode + &H10000
            End If
            Hight8 = (innerCode  And &HFF00)\ &HFF
            Low8 = innerCode And &HFF
            strReturn = strReturn & "%" & Hex(Hight8) &  "%" & Hex(Low8)
        End If
    Next
    URLEncoding = strReturn
End Function

服務(wù)器端

 沒有任何需要特別作的東西,如常響應(yīng)請求就是了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多