四季花海
2019-04-09 09:04:23
對js一竅不通,從網(wǎng)上找到兩段代碼<script type="text/javascript">function getCookie(name){var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));if(arr != null) return unescape(arr[2]); return null;}// 判斷是否已經(jīng)登錄if(!getCookie("name")){location.href="login.php"; }</script>不行還有var cookiecheck = '<?php echo $_COOKIE['cookiename'];?>'; 這個(gè)不知道怎么用。我別處發(fā)這個(gè)問題,他們讓我加上cms的cookie前綴,我暈了,不知道在代碼什么地方加,高人幫幫我吧。alert(document.cookie) 彈出來的關(guān)于登錄名的是這個(gè)nedqzmlusername=ceshidenglu; nedqz就應(yīng)該是前綴了吧,我改怎么把前綴弄到代碼里讓他發(fā)揮作用???
2 回答

當(dāng)年話下
TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
在.net里面,寫到客戶端的時(shí)候先把Cookies的值 UrlEncode一下
在js里面讀出來的時(shí)候,先用 unescape 反解碼一下
---------.NET
System.Web.HttpCookie cUName = new System.Web.HttpCookie("userName", Server.UrlEncode(user.username));
---------JS
userId=unescape(arr[1]);
-----------
Server是個(gè)服務(wù)器對象。
如果你不在Page里面使用的話,可以用
System.Web.HttpUnility.UrlEncode 來代替
至于那個(gè)英文的,因?yàn)橛⑽谋旧砭筒淮嬖诰幋a問題。
關(guān)于編碼和解碼的問題,不妨多嘗試嘗試。必要時(shí)手動看一下Cookies里面的內(nèi)容判斷是哪個(gè)階段出的問題。
添加回答
舉報(bào)
0/150
提交
取消