<script type="text/javascript">
    function AddUser() {
        var userName = $("#txtUserName").val();
        var Email = $("#txtEmail").val();
        var dpost = "{action:\"AddUser\",UserName:\"" + userName + "\",Email:\"" + Email + "\"}";
        alert(dpost);
        $.ajax({
            url: "Ajax/UserAjax.aspx",
            data: dpost,
            dataType: "JSON",
            success: function (result) {
                alert(result);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest.status);
                alert(XMLHttpRequest.readyState);
                alert(textStatus);
            }        });
    }
</script>
    <input type="text" id="txtUserName" /><br />
    <input type="text" id="txtEmail" /><br />
    <asp:Button ID="btnAdd" runat='server' Text="添加" OnClientClick="AddUser();return false;" />
protected void Page_Load(object sender, EventArgs e)
        {
            if (Request["action"] != null)
            {
                string action = Request.Form["action"].ToString();
                if (action == "AddUser")
                {
                    try
                    {
                        string userName = Request.Form["UserName"];
                        string email = Request.Form["Email"];
                        DataSet dsUser = Application["dsUser"] as DataSet;
                        DataRow drUser = dsUser.Tables[0].NewRow();
                        drUser["userName"] = userName;
                        drUser["Email"] = email;
                        dsUser.Tables[0].Rows.Add(drUser);
                        Application["dsUser"] = dsUser;
                        Response.Write("ok");
                    }
                    catch
                    {
                        Response.Write("Add Error");
                    }
                }
            }
        }
回传路径没有问题,但是获取参数获取不到

解决方案 »

  1.   


     $.ajax({
                url: "Ajax/UserAjax.aspx",
                data: dpost,
                cache:false,
    试试
      

  2.   

    不是cache的原因,后台代码我打断点是执行的
      

  3.   

    <input type="text" id="txtUserName" /><br /> <input type="text" id="txtEmail" /><br /> <asp:Button ID="btnAdd" runat='server' Text="添加" OnClientClick="AddUser();return false;" />
    放到form标签添加action属性试试
      

  4.   

    你的控件没有包含在form标签
    string action = Request.Form["action"].ToString();
    这样定义行吗?
      

  5.   

    error有提示么 ?可能的原因是后台获取的数据包含了太多的html标签
      

  6.   

    在接受参数的页面上加上Form吗?
    UserAjax.aspx
      

  7.   

    那就 看看
    alert(dpost);
    出来的内容是否有问题,是不是不是json格式的了
      

  8.   

     string action = Request["action"].ToString();
      

  9.   

      var dpost = "{action:\"AddUser\",UserName:\"" + userName + "\",Email:\"" + Email + "\"}";这句有问题,改为:
      var dpost = {"action":"AddUser","UserName":userName,"Email": Email}
      

  10.   

    你制定了要传递的数据是 dataType: "JSON",是JSON格式,但是你的spost却定义成了字符串了,所以获取不到
      

  11.   

    var dpost = {"action":"AddUser","UserName":userName,"Email": Email}
    后台使用
    Request.QueryString["action"]获取不到?
      

  12.   

    获取不到
    Request.QueryString["action"]是获取get方式回传的参数
      

  13.   

    data: eval(dpost)你的:dpost里面的是字符串。不是变量。必须转换。
      

  14.   

     $.ajax({
                type:"post"
                url: "Ajax/UserAjax.aspx",
                data: {"action":"AddUser","UserName":userName,"Email": Email},
                dataType: "JSON",
                success: function (result) {
                    alert(result);
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert(XMLHttpRequest.status);
                    alert(XMLHttpRequest.readyState);
                    alert(textStatus);
                }        });后台Request["action"],如果还是不行,那就不知道原因了