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

时间:2017-03-30 02:53:26

标签: javascript python

我正在尝试调用url

# resize | inside function
def shapeshift(mylist, num_col):
    num_col = int(num_col)
    return mylist.resize(mylist.shape[0]//num_col,num_col)

ls = shapeshift(ls,2)
print(ls)

>> None

如果你看var1我传递的值是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-γ'获取此变量1时,我得到request.params.get("var1")但缺少+,而是在CD14之后获得额外空间

如何在url

中的变量中传递+

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果您打算使用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);

答案 2 :(得分:0)

尝试'%2B'(正如其他人所说)。

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