简体   繁体   中英

Unable to execute Ajax call to c# method

Im trying to call ac# method on select changed event of a dropdown list,The select change event triggers but the ajax does not work

     <script type="text/javascript">
          $(document).ready(function () {


              $('body').delegate('#drpselect1', 'change', function () {
                  var groupname = $("#drpselect1 option:selected").text();
                  alert(groupname);
                  $.ajax({
                      type: "POST",
                      contentType: "application/json; charset=utf-8",
                      url: "sample.aspx/getdata",
                      dataType: "json",
                      {"text":groupname},
                      success: function () {
                         alert("works");
                          // window.location.href = "ClubCreation.aspx";
                      },
                      Error: function () {
                          alert('error');
                      }
                  });
             /*     $.ajax({
                      type: "POST",
                      contentType: "application/json; charset=utf-8",
                      url: "sample.aspx/getdata",
                        data:{"text":groupname}
                                          dataType: "json",
                      success: function () {
                          alert('Successfully Saved');
                          //window.location.href = "ClubCreation.aspx";
                      },
                      Error: function () {
                      }


    });*/

          });


      });




</script>

c# method

[WebMethod]
     public static void getdata(String text)
        {
            //do stuff
        }

You have to decorate getdata method with [WebMethod] attribute. In your c# code [WebMethod] is missing.

try this

check this line

                      data:'{"text":"'+groupname+'"}',//put "data:"

now,

$.ajax({
                      type: "POST",
                      contentType: "application/json; charset=utf-8",
                      url: "sample.aspx/getdata",
                      dataType: "json",
                      data:'{"text":"'+groupname+'"}',//put "data:"
                      success: function () {
                         alert("works");
                          // window.location.href = "ClubCreation.aspx";
                      },
                      Error: function () {
                          alert('error');
                      }
                  });

Probabky you missing attributes:

[System.Web.Services.WebMethod()] 
public static void getdata(String text)

Look here for more informations: Using jQuery to directly call ASP.NET AJAX page methods

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM