2

我有一个 web 方法通过 jquery-ajax 方法检查数据库中的用户我想如果客户端存在于数据库中我在客户端用用户名创建一个 cookie 但我知道响应在静态方法中不可用。我如何创建一个cookie 在使用 jquery ajax 调用的方法中,并且必须是静态的。我的代码不起作用,因为响应不可访问

 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

3 回答 3

5

您可以像从当前 HtppContext 访问 Session 对象一样访问 Response 对象。

你的代码应该这样结束:

context.Response.Cookies.Add(cook);
于 2012-09-17T01:22:46.703 回答
0

您可以将 HttpContext 从 AJax 调用首先进入的 Web 方法传递到静态方法。

编辑:或者,不要使用静态方法。无论哪种方式,HttpContext 都可以从 Ajax 调用通过 [WebMethod] 注释看到的实例化 Web 方法获得。

于 2012-09-16T07:51:56.437 回答
0
  1. 首先进行ajax调用。你可以阅读这篇很棒的教程5 Ways to Make Ajax Calls with jQuery
  2. 其次让服务器响应。例如,如果回调是“1”,则意味着您应该设置 cookie,如果它是“0”,则不应该设置。
  3. 最后,您可以使用这个 jquery 插件轻松设置 cookie:jquery.cookie
于 2012-09-16T09:34:24.790 回答