我想将 value="name+asc" 放在隐藏字段中。Http方法是Get。
<input type="hidden" value="name+asc" name="sort" />
但我不能将名称+asc 放在 URL 中。
我该如何处理这个问题。
我想将 value="name+asc" 放在隐藏字段中。Http方法是Get。
<input type="hidden" value="name+asc" name="sort" />
但我不能将名称+asc 放在 URL 中。
我该如何处理这个问题。
提交表单时,表单输入的值将自动正确编码。在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');
.
据我所知,除非编码为特殊字符,否则 + 会自动拆分您的值。您可以使用 - 或 _ 代替 +。