JavaScript中使用encodeURIComponent()编码空格导致%2520的问题及解决方案
在JavaScript中,encodeURIComponent()函数用于编码URI组件。它将字符串作为参数,并返回一个编码后的字符串。在URI中,空格被编码为%20。\n\n然而,当你使用encodeURIComponent()函数对一个空格进行编码时,它会将空格转换为%20,而不是空字符串。因此,如果你将一个空格作为参数传递给encodeURIComponent()函数,它会返回%20而不是空字符串。\n\n如果你在传值的过程中使用encodeURIComponent(' '),它会将空格编码为%20。但是,如果你之前已经对该值进行过一次encodeURIComponent()编码,那么传递给接口的值将变为%2520。这是因为%在URI中也需要进行编码,所以%本身也需要被编码为%25。\n\n因此,如果你想在JavaScript中传递一个空格作为参数,你可以直接将空字符串''作为参数传递给encodeURIComponent()函数,而不是传递一个空格。
原文地址: https://www.cveoy.top/t/topic/p1Z8 著作权归作者所有。请勿转载和采集!