JS获取url参数及url编码、解码
完整的URL由这⼏个部分构成:scheme://host:port/path?query#fragment ,各部分的取法如下:
window.location.href:获取完整url的⽅法:,即scheme://host:port/path?query#fragment
window.location.protocol:获取rul协议scheme
window.location.host:获取host
window.location.port:获取端⼝号
url编码处理window.location.pathname:获取url路径
window.location.search:获取参数query部分,注意此处返回的是?query
window.location.hash:获取锚点,#fragment
在js中可以使⽤escape(), encodeURL(), encodeURIComponent(),三种⽅法都有⼀些不会被编码的符号:escape():@ * / +
encodeURL():! @ # $& * ( ) = : / ; ? + '
encodeURIComponent():! * ( ) '
在java端可以使⽤URLDecoder.decode(“中⽂”, "UTF-8");来进⾏解码
但是由于使⽤Parameter()来获取参数时已经对编码进⾏了⼀次解码,所以⼀般情况下只要在js中使⽤encodeURIComponent("中⽂");
在java端直接使⽤Parameter()来获取即可返回中⽂。
如果你想在java端使⽤URLDecoder.decode(“中⽂”, "UTF-8");来解码也可以在js中进⾏⼆次编码,即:encodeURIComponent(encodeURIComponent("中⽂"));
如果不进⾏⼆次编码的话,在java端通过decode⽅法取的会是乱码。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论