[英]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.