2012-09-16 2 views
1

jquery-ajax 메서드를 통해 데이터베이스에서 사용자를 확인하는 웹 메서드가 있습니다. 클라이언트가 db에 존재하는지 알고 싶습니다. 클라이언트 측에서 사용자 이름을 사용하여 쿠키를 만들지 만 해당 응답을 사용할 수 없다는 것을 알고 있습니다. staticmethod에서. jquery ajax를 호출하고 정적이어야하는 메서드에서 쿠키를 만들 수 있습니까? 응답 사촌 작동하지 않습니다 그 내 코드는 AJAX 호출이 처음 입력 웹 메소드에서 정적 메소드에있는 HttpContext를 통과 할 수웹 메서드에서 쿠키를 만들

if (olduser.Trim() == username.Trim() && password.Trim()==oldpass.Trim()) 
     { retval =olduser; 

     HttpContext context = HttpContext.Current; 
     context.Session[retval.ToString()] = retval.ToString(); 
     HttpCookie cook = new HttpCookie("userath"); 
     cook["submituser"] = "undifiend"; 
     Response.Cookies.Add(cook); 

     } 

답변

4

현재 HtppContext에서 Session 개체에 액세스하는 것과 같은 방법으로 Response 개체에 액세스 할 수 있습니다.

context.Response.Cookies.Add(cook); 
0

accesible하지 않습니다.

EDIT : 또는 정적 메서드를 사용하지 마십시오. 어느 쪽이든 HttpContext는 Ajax 호출이 [WebMethod] 주석을 통해 보게되는 인스턴스화 된 웹 메소드에서 사용할 수 있습니다.

+0

내가 제대로 작동 세션에 문제가 해달라고하지만 난 웹 방식의 쿠키를 만들에 대한 해결책을 찾기 싶어 :

코드는 다음과 같이 끝나야합니다. – quantum62

+0

더 많은 코드를 게시하는 것이 도움이 될 수 있습니다. 클라이언트 측 코드를 사용하여 컨텍스트를 표시합니다. – SolidRegardless

0
  1. 먼저 ajax 호출을하십시오. 이 멋진 자습서를 읽을 수 있습니다. 5 Ways to Make Ajax Calls with jQuery
  2. 두 번째로 서버 응답. 예를 들어 콜백이 '1'이면 쿠키를 설정해야하고 '0'이면 그렇지 않아야 함을 의미합니다.
  3. 마지막으로이 jquery 플러그인을 사용하여 쉽게 쿠키를 설정할 수 있습니다 : jquery.cookie.
관련 문제