$.ajax 从page_load获取结果

本文关键字:load 获取 结果 page ajax | 更新日期: 2023-09-27 18:35:45

有很多关于这个主题的帖子,但它对我没有帮助!

我使用 jquery ajax 将数据发送到同一页面,并在page_load中处理它。有没有办法将数据返回到调用的 AJAX?

my ajax in userLevel.aspx

 $.ajax({
            type: "POST",
            url: location.href,
            dataType: 'text',
            data: "action=userData"
        }).done(function (result) {
            alert(result);
        });

我在用户级别的code_behind.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    if (!User.Identity.IsAuthenticated)
    {
        Response.Redirect("~/login.aspx?ReturnUrl=userLevel.aspx");
    }
    if(!IsPostBack)
    {
        if (Request.Form["action"] == "userData")
        {
           //bla bla bla...
           return "some data";
        }
    }
}

我知道我不能从返回 void 的函数中返回值但也许我可以使用响应.write?当我将数据发送到 ashx 时,它可以工作,但是当我尝试从当前页面的代码隐藏时,我得到了页面的整个 html。

$.ajax 从page_load获取结果

protected void Page_Load(object sender, EventArgs e)
{
  if (!User.Identity.IsAuthenticated)
  {
    Response.Redirect("~/login.aspx?ReturnUrl=userLevel.aspx");
    return;
  }
  if(!IsPostBack)
  {
    if (Request.Form["action"] == "userData")
    {
       Response.Clear();
       // if you want data to be specific , you should set content type
       // Set the ContentType
       //Response.ContentType = "application/json";
       Response.Write("some data");
       Response.End();
    }
  }
}