js函数中怎么获取request中值的属性

js函数中怎么获取request中值的属性,第1张

什么是request对象

Request对象的作用是与客户端交互,收集客户端的Form、Cookies、超链接,或者收集服务器端的环境变量。

request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。

在JS中获取到request,网页地址的方法:

windowlocationhref

这里假设URL完整为:baiducom/indexhtmltest=233333

这里要取request中值的属性,可以使用正则表达式获取

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

首先使用RegExp构造一个正则正则表达式对象

var reg = new RegExp("(^|/|&)test=([^&])(&|$)", "i");

参数

pattern             一个字符串,指定了正则表达式的模式或其他正则表达式。

attributes          可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

修饰符

i    执行对大小写不敏感的匹配。  

g    执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。  

m    执行多行匹配。  

然后使用match匹配出结果来

var match= windowlocationhrefmatch(reg);

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

参数

searchvalue    规定要检索的字符串值。  

regexp            规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。  

取出结果

match[2]

返回:233333

将它封装为一个函数

function getRequestValue(name) { 

var reg = new RegExp("(^|/|&)" + name + "=([^&])(&|$)", "i"); 

var match= windowlocationhrefmatch(reg); 

return match&&match[2]||null;

}

完整实例代码:

<html>

<head>

<title></title>

</head>

<body>

</body>

<script type="text/javascript">

function getValue(name) { 

var reg = new RegExp("(^|/|&)" + name + "=([^&])(&|$)", "i"); 

var match= windowlocationhrefmatch(reg); 

return match&&match[2]||null;

}

consolelog(getValue('test'));

</script>

</html>

代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>index</title>

</head>

<body>

<script>

var str = ">

var patt1 = /key=\d/ig; //匹配key=开头,后面匹配一个数字 i表示忽略大小写 g表示尽可能多的匹配

documentwrite("用正则表达式取值为:" + strmatch(patt1));

documentwrite("<br />")

var arr = strmatch(patt1);

var result = [];

consolelog(strmatch(patt1)) // [key=1,key=2,key=3]

for (var i = 0; i < arrlength; i++) {

resultpush(parseInt(arr[i]substr(4, 1)));

}

documentwrite("最终的结果为:[" + result + "]");

</script>

</body>

</html>

代码如下:

// 获取当前窗口url中param参数的值

function get_param(param){

var query = locationsearchsubstring(1)split('&');

for(var i=0;i

var kv = query[i]split('=');、、定义kv

if(kv[0] == param){

return kv[1]; //返回

}

}

return null;

}

// 设置当前窗口url中param的值

function set_param(param,value){

var query = locationsearchsubstring(1);

var p = new RegExp("(^|&"+param+")=[^&]");

if(ptest(query)){

query = queryreplace(p,"$1="+value);

locationsearch = ''+query;

}else{

if(query == ''){ //循环

locationsearch = ''+param+'='+value;

}else{

locationsearch = ''+query+'&'+param+'='+value;

}

}

}

注意locationsearch获取到的是url中?开始到#之间的内容(包含?但不包含#)。

很简单啊!s:property的value是从action中获取的值,既然这样,你可以在js这样获取:

var name = ${属性名}; 当然,用el表达式要引入jstl标签库!不然要报错!

也可以:<div id="name"><s:property value="属性名"></div>

js:var name=documentgetElementById('name')innerHTML;

jsp在页面上获取java参数总共有以下方法:

(1)直接在URL请求后添加

如:<a href="thexuanjspaction=transparams&detail=directe")直接传递参数, 特别的在使用responsesendRedirect做页面转向的时候,也可以用如下代码: responsesendRedirect("thexuanjspaction=transparams&detail=directe") ,可用requestgetParameter(name)取得参数

(2)jsp:param

它可以实现主页面向包含页面传递参数,如下:

<jsp:include page="Relative URL">

<jsp:param name="param name" value="paramvalue" />

</jsp:include>

还可以实现在使用jsp:forward动作做页面跳转时传递参数,如下:

<jsp:forward page="Relative URL">

<jsp:param name="paramname" value="paramvalue" />

</jsp:forward> 通过这种方式和一般的表单参数一样的,也可以通过requestgetParameter(name)取得参数

(3)设置session和request

通过显示的把参数放置到session和request中,以达到传递参数的目的

sessionsetAttribute(name,value);

requestsetAttribute(name,value)

取参数:value=(value className)sessiongetAttribute(name);

value=(value className)requestgetAttribute(name);

/

    取得目标iframe src所包含的参数

    @param iframeId - 目标iframe的id

    @return Object 参数名值对,{参数名:参数值,……}

/

function getIframeParams(iframeId) {

    var regexpParam = /\([\w\d%]+)=([\w\d%])&/g; //分离参数的正则表达式

    var targetEle = documentgetElementById(iframeId);

    

    var paramMap = null;

    

    if(!!targetEle) {

        var url = targetElesrc; //取得iframe的url

        

        var ret;

        

        paramMap = {};//初始化结果集

        

        //开始循环查找url中的参数,并以键值对形式放入结果集

        while((ret = regexpParamexec(url)) != null) {

                //ret[1]是参数名,ret[2]是参数值

            paramMap[ret[1]] = ret[2];

        }

    }

    

    return paramMap; //返回结果集

}

用法:

假设iframe如下

<html>

    <head>

    </head>

    <body>

        <iframe id="test" src="urlparamA=a&paramB=b"></iframe>

    </body>

</html>//获取参数名值对集合

var paramMap = getIframeParams('test');

//paramMap的结构是这样的:{'paramA':'a', 'paramB':'b'}

alert(paramMapparamA); //取出paramA的参数值

以上就是关于js函数中怎么获取request中值的属性全部的内容,包括:js函数中怎么获取request中值的属性、js怎么取表格里多组单选框里的值、Js正则匹配提取url的参数值 http://www.nowcoder.comkey=1&key等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9661516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存