我想把值=" name + asc"在隐藏的领域。 Http方法是Get。
<input type="hidden" value="name+asc" name="sort" />
但我不能在URL中加上名称+ asc。
我该如何处理这个问题。
答案 0 :(得分:1)
表单输入的值将在提交表单时自动编码。在application/x-www-form-urlencoded
数据中,+
符号代表一个空格,因此浏览器会将其编码为%2B
。
如果您想在数据中提交带有+
的表单:您拥有的代码没问题。
如果要提交数据中包含空格的表单:使用文字空间。浏览器会为您编码。
如果您希望使用JavaScript读取表单数据,并在通过encodeURIComponent
方法传递数据时以编程方式构造URL(或发布请求)。
var value = "123+456";
var encodedValue = encodeURIComponent(value);
var url = "http://example.com/?query=" + encodedValue;
如果你想手工构建URI(例如粘贴到HREF属性中),那么你需要在某个地方查找编码值。我倾向于在终端中运行node.js,这样我就可以快速输入encodeURIComponent('a string literal');
。
答案 1 :(得分:0)
据我所知,+会自动拆分您的值,除非编码为特殊字符。您可以使用 - 或_而不是+。