Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带感叹号的javascript组件?_Javascript_Query String_Special Characters_Urlencode_Encode - Fatal编程技术网

带感叹号的javascript组件?

带感叹号的javascript组件?,javascript,query-string,special-characters,urlencode,encode,Javascript,Query String,Special Characters,Urlencode,Encode,本机encodeURIComponent不支持对感叹号进行编码-我需要在url的查询参数中对其进行正确编码 node.jsquerystring.stringify()也不支持它 是使用自定义函数的唯一方法,如-?您可以重新定义本机函数以添加该功能 下面是一个扩展encodeURIComponent以处理感叹号的示例 //添加“!”对部件进行编码 ~函数(){ var orig=window.encodeURIComponent; window.encodeURIComponent=函数(str

本机
encodeURIComponent
不支持对感叹号进行编码-
我需要在url的查询参数中对其进行正确编码

node.js
querystring.stringify()
也不支持它


是使用自定义函数的唯一方法,如-?

您可以重新定义本机函数以添加该功能

下面是一个扩展
encodeURIComponent
以处理感叹号的示例

//添加“!”对部件进行编码
~函数(){
var orig=window.encodeURIComponent;
window.encodeURIComponent=函数(str){
//调用原始函数,并添加
//它的功能
返回原始调用(窗口,str)。替换(/!/g,“%21”);
};
}();
encodeURIComponent(“!”);//%21

如果希望代码更短,还可以添加新函数。
不过,这取决于你

//要添加“!”的单独函数对部件进行编码
//短于重新定义,但必须调用不同的函数
函数encodeURIfix(str){
返回组件(str)。替换(/!/g,“%21”);
}
encodeURIfix(“!”);//%21


更多的例子可以在

上找到,是的,我知道它可以覆盖它,但是思想
querystring
至少默认有这个,无论如何,谢谢!)嗯。至于你最初的问题,是的,我认为有必要创建一个自定义函数。为什么JavaScript函数不能正确处理这个问题?Erlang的URI编码器也没有!