扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情
张掖ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
首先看看单纯的通过javascript是如何来获取url中的某个参数:
function getUrlParam(name) {
var reg = new RegExp("(^|)" + name + "=([^]*)(|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]); return null; //返回参数值
}
我们要获取reurl的值,可以这样写:
var xx = getUrlParam('reurl');
function fn(arg1,arg2,arg3) {
console.log(arguments[0]); //arg1
console.log(arguments[1]); //arg2
console.log(arguments[2]); //arg3
}
这个不需要用到jQuery,arguments通过一个伪数组的形式保存了所有的参数,可以通过length和下标来访问。
传参常用的GET和POST两种方式,可以一般的表单数据(如注册)就是这样传递的。
1、post是不行的,用get的话,还是可以的,如aa.html?data=data 这样,在aa.html里面,再用js来解析当前的url就可以获取到data了。
2、一句话概括,纯html页面之间的传值可以通过url后面的参数进行比如:
b.html?teacher=xxtime=xxx。
3、回到问题中,首先从a.html到b.html需要一个跳转方式,比方说在a.html页面里面你有一个链接:
a href="b.html" id="toPageB"跳转到b页面/a。
剩下的就好办了,依次取得你需要的参数,然后修改页面url:var dataFromLi=[$("#Teachername").text(),$("#Credit_hour").text()];$("#toPageB").attr("href","b.html?data="+dataFromLi)。然后在b.html页面解析url,获取参数。
跳转的时候直接把该参数加到地址上,然后再另一个页面接收这一环节跟jquery关系不大。
1.通过FUNCTION的方式
jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情,首先看看单纯的通过javascript是如何来获取url中的某个参数。
function getUrlParam(name) {
//构造一个含有目标参数的正则表达式对象
var reg = new RegExp("(^|)" name "=([^]*)(|$)");
//匹配目标参数
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
} else {
//返回参数值
return "";
}}
通过这个函数传递url中的参数名就可以获取到参数的值。
getUrlParam(´cid´);
2.JQUERY封装的方式
明白了 Javascript 获取 url 参数的方法,我们可以通过这个方法为 jQuery 扩展一个方法来通过 jQuery 获取 url 参数,下面的代码为 jQuery 扩展了一个 getUrlParam() 方法.
(function($){
$.getUrlParam = function(name){
var reg = new RegExp("(^|)" name "=([^]*)(|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}})(jQuery);
为 jQuery 扩展了这个方法了之后我们就可以通过如下方法来获取某个参数的值了,代码如下:
$.getUrlParam(´cid´);
$.ajax({
url: '../api/findUser',
type: "POST",
data: {//data就是参数,是json格式
userCode: '201702009',
userName: '张三'
},
async: false,
dataType: 'json',
cache: false,
success: function (args) {
//请求成功返回后执行的动作
},
error: function (args) {
//请求失败后执行的动作
}
});
//然后服务端获取参数值:
//如果是:SpringMVC框架:(框架自动填装参数值)
@RequestMapping(value = "/findUser", method = RequestMethod.POST)
public User findUser(@RequestParam(value = "userCode") String userCode,
@RequestParam(value = "userName") String userName){
//.......
}
//如果是Servlet:
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userCode= request.getParameter("userCode");
String userName= request.getParameter("userName");
//.......
}
希望能帮到你!
/*--获取网页传递的参数--*/
function request(paras)
{
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
调用这个 request就可以了,这里可以调用request("ID")
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流