1. 程式人生 > >JS頁面跳轉傳url地址錯誤

JS頁面跳轉傳url地址錯誤

在我做的一個介面文件系統中有這樣一個功能,頁面點選一個測試按鈕,將一個地址傳到action中進行處理將結果進行解析輸出到頁面上;

出現了一個問題,頁面點選按鈕時需要跳轉頁面,同時將要處理的url地址傳遞出去,該地址裡面有&?等特殊符號,action接收的時候會理解為多個傳遞值而不是一個url;

有這樣解決:

傳遞引數時需要使用encodeURIComponent,這樣組合的url才不會被#&?等特殊字元截斷。

比如:window.open('/Api/apitesturl?testurl='+encodeURIComponent('<?=$this->apidetail['Medi_ApiTestUrl']?>'

));//藍色部分為php程式碼,之前直接放進去發現依然不行,必須用引號包住才能起作用。

encodeURIComponent,它是將中文、韓文等特殊字元轉換成utf-8格式的url編碼,所以如果給後臺傳遞引數需要使用encodeURIComponent時需要後臺解碼對utf-8支援(form中的編碼方式和當前頁面編碼方式相同)