js获取php页面session的值,在html页面中取得session中的值的方法
1.首先呢session的key-value都是存在server的,瀏覽器HTML頁面是沒有辦法直接取得session中的值,只有在html里能通過js拿到jesessionid之類的東西。
1.1、數據量如果小,可以考慮放到cookie里,傳到客戶端,html里用js就可以拿到。
1.2、如果數據量大,可以考慮單獨做一個jsp或servlet,根據傳來的session的key,返回序列化的session的值,比如json之類的。html里用js通過ajax獲取。這種方式復雜了點,多一次遠程訪問,但是靈活方便。
如:2.或者得通過后臺才能獲取,session是存在服務器端的,如果你用cookie的話,可以通過js獲取。
問題描述:session中保存著UserInfo對象,成功登錄后,在html中顯示“歡迎xxx”
解決方法:通過ajax,json獲取UserInfo數據,再顯示
1.js
$(function() {
$.ajax({
type : "get",
url : "login!getLoginName.action",
dataType : "text",
success : function(result) {
document.getElementsByTagName('b')[0].innerHTML=result;
},
error : function() {
alert("請求失敗");
}
});
});
2.頁面
管理頁面| 管理員:您好,感謝登陸使用! |
3.實體:UserInfo
public class UserInfo {
private int UserInfoId;
private String userInfoName;
private String UserInfoPsw;
//省略get,set
4.LoginAction中:
public void getLoginName() {
System.out.println("getLoginUser");
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/plain;charset=UTF-8");
PrintWriter out;
try {
String userName = ((UserInfo) ActionContext.getContext()
.getSession().get("user")).getUserInfoName();
System.out.println(userName);
out = response.getWriter();
out.print(userName);
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
3.用response.sendRedirect("a.html?param=hello");用下面的JS方法
如:
var v=getUrlParameter('param');
function getUrlParameter( name ){
name = name.replace(/[
]/,"\[").replace(/[
]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^]*)";
var regex = new RegExp( regexS );
var results = regex.exec(window.parent.location.href );
if( results == null ) return ""; else {
return results[1];
}
}
以上幾種方法在html頁面中取得session中的值.
總結
到此這篇關于在html頁面中取得session中的值的方法的文章就介紹到這了,更多相關html頁面取得session值內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持腳本之家!
總結
以上是生活随笔為你收集整理的js获取php页面session的值,在html页面中取得session中的值的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php300类库,扩展类库 · PHP3
- 下一篇: 航天板块股票有哪些 航天板块股票一览