❶ js函數中怎麼獲取request中值的屬性
Request對象的作用是與客戶端交互,收集客戶端的Form、Cookies、超鏈接,或者收集伺服器端的環境變數。
request對象是從客戶端向伺服器發出請求,包括用戶提交的信息以及客戶端的一些信息。客戶端可通過HTML表單或在網頁地址後面提供參數的方法提交數據,然後通過request對象的相關方法來獲取這些數據。request的各種方法主要用來處理客戶端瀏覽器提交的請求中的各項參數和選項。
在JS中獲取到request,網頁地址的方法:
window.location.href
這里假設URL完整為:.com/index.html?test=233333
這里要取request中值的屬性,可以使用正則表達式獲取
正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。
首先使用RegExp構造一個正則正則表達式對象
varreg=newRegExp("(^|/?|&)test=([^&]*)(&|$)","i");
參數
pattern 一個字元串,指定了正則表達式的模式或其他正則表達式。
attributes 可選的字元串,包含屬性 "g"、"i" 和 "m",分別用於指定全局匹配、區分大小寫的匹配和多行匹配。ECMAScript 標准化之前,不支持 m 屬性。如果pattern是正則表達式,而不是字元串,則必須省略該參數。
修飾符
i 執行對大小寫不敏感的匹配。
g 執行全局匹配(查找所有匹配而非在找到第一個匹配後停止)。
m 執行多行匹配。
然後使用match匹配出結果來
varmatch=window.location.href.match(reg);
match() 方法可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配。
參數
searchvalue 規定要檢索的字元串值。
regexp 規定要匹配的模式的 RegExp 對象。如果該參數不是 RegExp 對象,則需要首先把它傳遞給 RegExp 構造函數,將其轉換為 RegExp 對象。
取出結果
match[2]
返回:233333
將它封裝為一個函數
functiongetRequestValue(name){
varreg=newRegExp("(^|/?|&)"+name+"=([^&]*)(&|$)","i");
varmatch=window.location.href.match(reg);
returnmatch&&match[2]||null;
}
完整實例代碼:
<html>
<head>
<title></title>
</head>
<body>
</body>
<scripttype="text/javascript">
functiongetValue(name){
varreg=newRegExp("(^|/?|&)"+name+"=([^&]*)(&|$)","i");
varmatch=window.location.href.match(reg);
returnmatch&&match[2]||null;
}
console.log(getValue('test'));
</script>
</html>
❷ jsp request.getAttribute 取不到值
當程序運行時,如果把一個值存在session中,那麼除非你關閉窗口,或者調用關閉session的方法,否則session中的值,就一直存在於內存中。
request的話,就是頁面與頁面之間傳遞值。