2012-05-07 4 views
1

의 asp.net mvc3에서 키 값을 얻기 위해 자바 스크립트에서이어떻게 자바 스크립트에서 설정 한 쿠키, 내가 쿠키를 설정했다

function setCookie(c_name,value,exdays) 
    { 
     var exdate=new Date(); 
     exdate.setDate(exdate.getDate() + exdays); 
     var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); 
     document.cookie = c_name + "=" + c_value; 
    } 

var loginval = slmgusername=swetha.p + slmguserpassword = 12345678; 
setCookie("slmgusercredentails", loginval, 100); 

그리고 나는 이런 내 쿠키에 값을 얻고 컨트롤러 같은 몇 가지

HttpContext.Request.Cookies["slmgusercredentials"].Values = {slmgusername%253Dswetha.p%2526slmguserpassword%253D12345678} 

내가

UserName = HttpContext.Request.Cookies["slmgusercredentials"].Values["slmgusername"]. 

처럼이에서 어떤 것을 사용자 이름을 얻기 위해 노력하고 있어요 때 내가 할 수 캔트 UserName을 얻는다. 내가 생각하기에 값은 javscript 코딩 형식으로되어 있습니다. 어떻게하면 사용자 명을 얻는 지 ... 해결책을 찾는데 아무도 도와 줄 수 있습니다 ...

+0

백 엔드 프레임 워크 (ASP?)에이 질문을 태그하십시오. 그것은 질문 텍스트에서도 명시 적으로 언급하는 데 도움이됩니다. – apsillers

답변

3

이 트릭을해야합니다!

function ReadCookie() 
    { 
     var allcookies = document.cookie; 
     alert("All Cookies : " + allcookies); 

     // Get all the cookies pairs in an array 
     cookiearray = allcookies.split(';'); 

     // Now take key value pair out of this array 
     for(var i=0; i<cookiearray.length; i++){ 
      name = cookiearray[i].split('=')[0]; 
      value = cookiearray[i].split('=')[1]; 
      alert("Key is : " + name + " and Value is : " + value); 
     } 
    } 
+0

'key = value; expires = Thu, 1970 년 1 월 1 일 00:00:00 GMT'에 작동하지 않습니다. '만료'는 다른 쿠키로 간주됩니다. –

0

허용되는 답변에서 만료 된 문제를 해결합니다.

function readKeyValuesFromCookie(){ 
    return document.cookie 
     .split(';') 
     .map(pair => pair.split('=')) 
     .filter(pair => pair.length == 2) 
     .map(pair => [ pair[0].trim(), pair[1].trim() ]) 
     .filter(pair => pair[0] != 'expires') 
    ; 
} 
관련 문제