Jquery Ajax WebMethod not working

Last post 11-07-2009 11:19 AM by ScottyG. 1 replies.

Sort Posts:

  • Jquery Ajax WebMethod not working

    11-07-2009, 10:39 AM
    • Member
      1 point Member
    • ScottyG
    • Member since 06-16-2009, 9:25 PM
    • Posts 10

    Ok i have two Webmethods on my default page which are both working just fine. Now I just took the same code and modified it just enough to fit my next webmethod on another page and it is not getting to the webmethod from the Jquery I cannot figure out why. it is drving me insane. I did find out that the variables all have to be lowercase on both ends but cant figure out what else is going on.

     

    here is my  Jquery

            function CreateNUser() {
    
                // Add the page method call as an onclick handler for the div.
                var username = document.getElementById('UserName').value;
                var password = document.getElementById('Password').value;
                var firstname = document.getElementById('FirstName').value;
                var lastname = document.getElementById('LastName').value;
                var email = document.getElementById('Email').value;
                var passquestion = document.getElementById('SecurityQuestion').value;
                var passanswer = document.getElementById('SecurityAnswer').value;
                
                $.ajax({
    
                    type: "POST",
                    url: "CreateUser.aspx/CreateNewUser",
                    data: "{username: " + username + ", password: " + password + ", firstname: " + firstname + ", lastname: " + lastname + ",email: " + email + ",passquestion: " + passquestion + ",passanswer: " + passanswer + "}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(msg) {
                    
                        if (msg.d != 'false')
                            $("#like" + id).text(msg.d);
                    }
    
                });
            }


     

     

    Here is my WebMethod of my codebehind what little insignificant mistake am i forgetting

     

        [WebMethod]
        public static string CreateNewUser(string username,string password, string firstname,string lastname,string email,string passquestion,string passanswer)
        {
            string status = string.Empty;
            string Pass1 = string.Empty;
            string Pass2 = string.Empty;
            string Answer1 = string.Empty;
            string Answer2 = string.Empty;
            char[] PassArray1;
            char[] PassArray2;
            char[] AnswerArray1;
            char[] AnswerArray2;
    
            PassArray1 = password.ToCharArray(0, (password.Length - 3));
            PassArray2 = password.ToCharArray((password.Length - 3), 3);
            Pass1 = PassArray1.ToString();
            Pass2 = PassArray2.ToString();
            AnswerArray1 = passanswer.ToCharArray(0, (passanswer.Length - 3));
            AnswerArray2 = passanswer.ToCharArray((passanswer.Length - 3), 3);
            Answer1 = AnswerArray1.ToString();
            Answer2 = AnswerArray2.ToString();
    
            if (password.Length > 20)
            {
                status += "password Length too long: <br />";
            }
            if (username.Length > 15)
            {
                status += "username Length too long: <br />";
            }
            if (firstname.Length > 15)
            {
                status += "First Name Length too long: <br />";
            }
            if (lastname.Length > 15)
            {
                status += "Last Name Length too long: <br />";
            }
            if (email.Length > 50)
            {
                status += "Email Length too long: <br />";
            }
            if (passquestion.Length > 256)
            {
                status += "Security Question Length too long: <br />";
            }
            if (passanswer.Length > 128)
            {
                status += "Security Answer Length too long: <br />";
            }
    
            if (status == string.Empty)
            {
                SqlConnection conn = new SqlConnection(CS);
                string val = string.Empty;
                SqlCommand ocommand = new SqlCommand("CreateNewUser", conn);
                ocommand.CommandType = CommandType.StoredProcedure;
    
                SqlParameter d = new SqlParameter();
                ocommand.Parameters.Add(new SqlParameter("@username", username));
                ocommand.Parameters.Add(new SqlParameter("@password", Pass1));
                ocommand.Parameters.Add(new SqlParameter("@firstname", firstname));
                ocommand.Parameters.Add(new SqlParameter("@LastName", lastname));
                ocommand.Parameters.Add(new SqlParameter("@Email", email));
                ocommand.Parameters.Add(new SqlParameter("@IsApproved", true));
                ocommand.Parameters.Add(new SqlParameter("@passwordQuestion", passquestion));
                ocommand.Parameters.Add(new SqlParameter("@passwordAnswer", Answer1));
                ocommand.Parameters.Add(new SqlParameter("@passwordAnswer2", Answer2));
                ocommand.Parameters.Add(new SqlParameter("@password2", Pass2));
    
                //ocommand.Parameters.Add(new SqlParameter("@Ipaddress", "127.0.0.1"));
                try
                {
                    conn.Open();
                    ocommand.ExecuteNonQuery();
                }
                catch (Exception ee)
                {
                    status = "Sorry an unexpected Error occured";
                }
                finally
                {
                    conn.Close();
                    conn.Dispose();
                }
            }
            return status;
        }


     

  • Re: Jquery Ajax WebMethod not working

    11-07-2009, 11:19 AM
    Answer
    • Member
      1 point Member
    • ScottyG
    • Member since 06-16-2009, 9:25 PM
    • Posts 10

    Well just as I got the email stating my post was approved I finally found what I was needing which was located here

     

    http://stackoverflow.com/questions/1405243/asp-net-web-forms-jquery-ajax-pass-multiple-paramaters-to-web-method

     

     

     

    var DTO = JSON.stringify({username: username, password: password, firstname: firstname, lastname: lastname, email: email,passquestion: passquestion,passanswer: passanswer});

     

     

Page 1 of 1 (2 items)