網(wǎng)上有很多文字作品寫(xiě)涉及在JS中呈現類(lèi)似UrlEncode功能時(shí)都是自定義參數來(lái)呈現,其實(shí)JS中本身就有那樣的參數。
參數parameter由于用類(lèi)似URL的形式傳過(guò)去 , 所以別直接就那樣賦值
以下是對變量值的URL編碼總結 : 意見(jiàn)用encodeURIComponent() , GET 和POST方法都能夠發(fā)送過(guò)去
Java編程script中存在幾種對URL字符串停止編碼的竅門(mén):escape(),encodeURI(),以及encodeURIComponent()。這幾種編碼所起的功能各不相同。
escape() 竅門(mén):
采用ISO Latin字符集對指定的字符串停止編碼。所有的空格符、標點(diǎn)符號、特殊字符以及更多有聯(lián)系非ASCII字符都將被轉化成%xx各式的字符編碼(xx等于該字符在字符集表里面的編碼的16進(jìn)制數字)。比如,空格符對應的編碼是%20。
不會(huì )被此竅門(mén)編碼的字符: @ * / +
encodeURI() 竅門(mén):
把URI字符串采用UTF-8編碼各式轉化成escape各式的字符串。
不會(huì )被此竅門(mén)編碼的字符:! @ # $& * ( ) = : / ; ? + '
encodeURIComponent() 竅門(mén):
把URI字符串采用UTF-8編碼各式轉化成escape各式的字符串。與encodeURI()相比,那個(gè)竅門(mén)將對更多的字符停止編碼,比如 /等字符。所以假如字符串里面包含了URI的幾個(gè)部份的話(huà),別用那個(gè)竅門(mén)來(lái)停止編碼,否則 / 字符被編碼之后URL將呈現錯誤。
不會(huì )被此竅門(mén)編碼的字符:! * ( ) '
因此,對于漢文字符串來(lái)說(shuō),假如不期望把字符串編碼各式轉化成UTF-8各式的(比如原頁(yè)面和目的頁(yè)面的charset是一致的時(shí)候),只需求應用escape。假如你的頁(yè)面是GB2312或者更多有聯(lián)系的編碼,而接受參數parameter的頁(yè)面是UTF-8編碼的,就要采用encodeURI或者encodeURIComponent。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。