Javascript中的escape()方法是一種字符串編碼方法,用于將字符串轉化為可用于URL的格式。在實際的開發中,我們經常需要發送ajax請求到后臺獲取數據,而后臺需要接收一些參數值。這些參數值可能包含中文、特殊字符等,如果不對其進行編碼,可能會導致請求失敗或者數據讀取不正確。
下面是一個例子,獲取一個帶有特殊字符和中文的URL:
var url = 'http://example.com/?name=小明&age=18&address=上海%中山%區';
我們用console.log()打印出來這個url的結果:
http://example.com/?name=小明&age=18&address=上海%中山%區
可以看到,URL中包含有中文和特殊字符,如果直接發送請求,可能會導致請求失敗或者數據讀取不正確。此時我們就需要對URL進行編碼,用escape()方法轉化為可用于URL的格式。
我們通過escape()方法對URL編碼:
var encodedURL = escape(url);
打印出來編碼后的url:
http%3A//example.com/%3Fname%3D%E5%B0%8F%E6%98%8E%26age%3D18%26address%3D%E4%B8%8A%E6%B5%B7%25%E4%B8%AD%E5%B1%B1%25%E5%8C%BA
可以看到,在編碼后的URL中,中文和特殊字符都被轉化為了%xx編碼形式,可以安全的發送到后臺進行數據處理。
另外,需要注意的是,escape()方法不會編碼字母、數字、下劃線、連字符以及ASCII碼范圍內的特殊字符等,比如a-z、A-Z、0-9、-、_等。
下面是一個例子:
var str = "Hello World!"; console.log(escape(str));
輸出結果為:
Hello%20World!
可以看到,只有空格被編碼為了%20,其他字符都沒有被編碼。
綜上所述,escape()方法是一種常用的字符串編碼方法,用于將字符串轉化為可用于URL的格式。在實際的開發中,我們經常需要對一些包含中文、特殊字符的URL進行編碼,否則會導致請求失敗或者數據讀取不正確。
上一篇ajax怎么統一兩張表單
下一篇css文本框禁用