js怎么获取request的值

JavaScript013

js怎么获取request的值,第1张

javascript中获取java变量值的方式如下:

方法一:加上单引号

在JSP中 <% String guser = "abc"%>

在同一jsp中

function checkAll()

{

var gusername = '<%=guer%>'//新建一个变量

alert(gusername)//弹出一个窗口

}

方法二:用隐藏域

<%

String guser = "abc"

%>

<script language="javascript">

function checkAll()

{

var gusername = document.form1.user.value

alert(gusername)

}

<form name="form1">

<input type= "hidden" name ="user" value="<%= guser%>" />//隐藏域有数据

</from>

什么是request对象

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

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

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

window.location.href

这里假设URL完整为:baidu.com/index.html?test=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= window.location.href.match(reg)

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

参数

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

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

取出结果

match[2]

返回:233333

将它封装为一个函数

function getRequestValue(name) { 

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

var match= window.location.href.match(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= window.location.href.match(reg) 

return match&&match[2]||null

}

console.log(getValue('test'))

</script>

</html>

如果是jsp,可以在js中,用el表达式来提取:

var value = "${requestScope.XXX}"

在asp中可以这样写,

<script>

var 变量='<%=request("变量")%>'

</script>