在传递给u的变量中使用+

2024-10-04 15:26:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打个电话到url

http://example.com/controller/action?var1=CD14+%20MDM%20in%20GM-CSF%203%20days%20then%203%20days%20IFN-%CE%B3&var2=56&var3=ENSG00000115415

如果你看var1,我正在传递值'CD14+ MDM in GM-CSF 3 days then 3days IFN-γ'

在控制器中,我尝试使用request.params.get("var1")获取这个var 1时,得到了'CD14 MDM in GM-CSF 3 days then 3days IFN-γ',其中缺少+而不是在CD14之后获得额外的空间

如何在url中传递+变量


Tags: incomhttpurlexampledays电话controller
3条回答

这有一个答案here。它说+需要编码为%2B

如果打算使用plus作为数据组件,而不是url组件,那么应该传递%2B

Javascript:

var url = "http://example.com/controller/action?var1=CD14+%20MDM%20in%20GM-CSF%203%20days%20then%203%20days%20IFN-%CE%B3&var2=56&var3=ENSG00000115415"; //NOTE: this following wil lreplace all + to %2B url = url.replace(/\+/g,"%2B"); console.log("new : ",url);

请尝试“%2B”(如其他人所述)

但如果您使用的是Javascript,则可以使用内置的方法来进行URL编码,称为“encodeURIComponent”。请注意,您需要的不是“encodeURI”,它不会对像“+”这样的保留字符进行编码。见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent

相关问题 更多 >

    热门问题