[英]How to escape slash in URL parameter
$.ajax({
url: "/api/v1/cases/annotations/" + case_id + "/" + encodeURIComponent(current_plink),
我正在使用encodeURIComponent來轉義斜杠。 但它對我不起作用。 此代碼將“斜杠”轉換為“%2F”,但 apache 無法識別它。
我的 php 部分是這樣的:
$app->get('/cases/annotations/:case_id/:prep_name', 'authenticatePathologist', function($case_id, $prep_name) use ($app) {
您應該使用encodeURIComponent
對其進行兩次編碼,即encodeURIComponent(encodeURIComponent(current_plink))
。 如果只編碼一次,服務器會對其進行解碼,這與根本不編碼是一樣的。
我也有類似的 url 問題,例如:
?filters=new:item:text
它需要轉義冒號。 為此,我嘗試將其替換為?filters/:items/:text
但這無法正常工作,因為 Chrome 未對“/”值進行編碼。
嘗試了 js [escape() method][1]
,它的效果非常好。
let url = 'https://dev.test.something?filters=';
let filterString = 'new:item:text';
url = url + escape(filterString);
輸出:
https://dev.test.something?filters=new%3Aitem%3Atext
希望這會有所幫助!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.