寫好了一支程式,在 Chrome 和 Firefox 都沒問題,但在 IE 裡參數會變成特殊符號。正常情況應該像是這樣:

http://127.0.0.1/index.php?t=1&sect=2

但在 IE 裡變成:

http://127.0.0.1/index.php?t=1§=2

以至於後端程式無法正確拿到 t 的值、也沒辦法拿到 sect 這個參數。上網查了一下發現 "§" 是 "§" 這個 HTML entity 符號,找了一下 URL 參數與 HTML entity 之間的問題,發現 "URL Query Parameters and HTML Entities: The Case of the Missing Semicolon" 這篇也有一樣的情況,裡面舉的例子是 © (©) 和 " ("),但它雖然說把串接參數的值從 "&" 改成 "&" 就沒事了:

http://127.0.0.1/index.php?t=1&sect=2

但不知道是不是因為我是在 JavaScript 裡串接參數,這招在 IE 裡雖然有用,但反而變成在 Chrome 就又爛掉了。

後來乾脆把參數名稱避開同名的 HTML entity,就沒事了。下次命名 URL 參數時會注意一下這個。

文章標籤

創作者介紹
創作者 fannys23 的頭像
fannys23

小攻城師的戰場筆記

fannys23 發表在 痞客邦 留言(0) 人氣()