
知识先填坑:
假设访问路径为:file:///Users/xiao/learn/js_basics/11htmla=100&b=20&c=30;
分别通过正则匹配、拆分字符串成数组、新API URLSearchParams三种方式获取参数方法如下:
思路:
两次用到split方法,第一次将每个参数和值拆分为数组中的一个值;
遍历这个数组,每个参数和值再次分割,分别将参数和值赋值给一个对象的属性和值;
调用方法通过对象的属性,获取改值
一般出现乱码都是在js_面跳转到哪个类 然後得到这个参数的时候中文乱码,\x0d\有一个非常实用的办法,在js你可以这样写:\x0d\var url=;\x0d\url=encodeURI(url); \x0d\url=encodeURI(url); //最重要的部分,两次调用encodeURI ,就是编码两次\x0d\然後在跳转到url所在的类, 获取这个参数的方法如下:\x0d\String name=requestgetParameter("name"); \x0d\name=URLDecoderdecode(name,"utf8"); \x0d\这样就能解决乱码问题了,这种方法还没遇到过不能解决的乱码,
传参(在input输入框中输入内容后点击回车,跳转到搜索内容页)
$('input')focus(function () {
$(document)keypress(function (e) {
if (ekeyCode == 13) {
var the_name = encodeURI($('the_input input')val())
windowopen("/searchhtmlsearch=" + the_name)
}
});
})
encodeURI() 函数可把字符串作为 URI 进行编码。
接收url上传来的参数,调用getUrlParam()直接填入要获取的参数名
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&])(&|$)");
var url = decodeURI(windowlocationsearch)
var r = urlsubstr(1)match(reg);
if (r != null) return unescape(r[2]); return null;
}
var name = getUrlParam('search')
注意解码需要连同所有url一起解码
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
以上就是关于获取当前页面url参数的三种方法全部的内容,包括:获取当前页面url参数的三种方法、url传参数出现中文乱码,怎么解决、通过url传参遇到参数为中文无法解码问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)