使用jquery或原生javascript函数编码URL(包括&等字符)
Encoding URL (including characters like &) using jquery or native javascript function?
我在表单中有一个隐藏参数,其值为
custAddress=CustomerAddress.do?fisrtName=scott&lastName=Miles
我想在发送之前对它进行编码,这样像&可替换为%26 etch
我尝试使用javascript内置的encodeURI("urlToencode"),但不编码字符像&?
试试这行代码,
encodeURIComponent("fisrtName=scott&lastName=Miles");
使用https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent
您需要在URL查询字符串的每个动态部分(名称和值)上调用它。问题是custAddress=CustomerAddress.do?fisrtName=scott&lastName=Miles
中的URI组件是什么它看起来不像URL因为=
在?
http://myserver/file.do?custAddress=CustomerAddress.do?fisrtName=scott&lastName=Miles
在这种情况下,您应该像
那样构建您的URLvar custAddress = "CustomerAddress.do?fisrtName=scott&lastName=Miles";
var initialPath= "/path/to/file.do?";
var url = initialPath + "custAddress=" + encodeURIComponent(custAddress);
既然你提到了jQuery
,你可以使用$.param
,看起来更干净,为你做编码,你可以一次给它多个查询参数
var url = initialPath + $.param({
custAdrress: custAddress,
otherParam: "paramVal",
// Both the param name and value need to be encoded and $.param does that for you
"funny Name & Param": "funny & value ="
});
相关文章:
- 如何将单词(包括单词)与连字符匹配
- Javascript:包括特殊字符的文本选择
- 如何检查两个字符串是否具有相同的字符,包括特殊字符
- 如何在不丢失格式的情况下连续淡入() 元素文本的每个字符,包括嵌套元素
- 包含特殊字符 (!,@,#,&) 不包括其他特殊字符
- Regex表达式,用于替换两个字符(包括字符)之间的字符串
- javascript是否有一个选项可以使句点与任何字符匹配,包括换行符
- 不包括'+'和'&'正则表达式中的字符
- 使用javascript查找小数前的整数(不包括特殊字符)
- 包括HTML标记,但只包括字符列表
- 包括一个带有innerHTML转义字符的脚本
- 替换不包括 unicode 的非数字字符
- 如何在正则表达式中表示“不包括边界的此字符”
- 正则表达式匹配所有单词,包括标点符号和 unicode 字符.没有空格
- 正则表达式至少包含 10 个字符,包括 1 个数字和一个大写字母
- javascript正则表达式匹配字符串条件,包括特殊字符
- “”的正则表达式;至少8个字符长,包括至少一个字母和一个数字“;
- 正则表达式,包括除*和&之外的所有字母、数字和特殊字符;
- Regex函数使单词标题大小写(包括连字符)
- 正则表达式——不包括字符