我正在尝试给url打个电话。
http://example.com/controller/action?var1=CD14+%20MDM%20in%20GM-CSF%203%20days%20then%203%20days%20IFN-%CE%B3&var2=56&var3=ENSG00000115415如果你看一下我传递的值为'CD14+ MDM in GM-CSF 3 days then 3days IFN-γ'的var1。
在控制器中,我尝试使用request.params.get("var1")获得这个变量1,我得到的是缺少+的'CD14 MDM in GM-CSF 3 days then 3days IFN-γ',而不是在CD14之后获得额外的空间
如何在url中的变量中传递+
发布于 2017-03-30 11:03:48
这有一个答案here。它说明需要将+编码为%2B。
发布于 2017-03-30 11:03:57
如果你打算使用加号作为数据组件,而不是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);
发布于 2017-03-30 11:11:50
尝试'%2B‘(正如其他人所说的)。
但是如果你使用的是Javascript,你可以使用内置的方法"encodeURIComponent“来进行网址编码。请注意,您需要它,而不是"encodeURI“,因为它不会对保留字符进行编码,如”+“。请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
https://stackoverflow.com/questions/43107669
复制相似问题