Calling ASP.Net Code Behind using jQuery AJAX

The $.ajax() function in jQuery allows you to make asynchronous HTTP requests to server-side methods, including those defined in a C# class, commonly used in web applications. In your example, the $.ajax() function is used to make an asynchronous request to the getOutput() web method, and it can be configured to handle the response from the server once the request is completed, enabling dynamic interactions between client-side JavaScript and server-side code in C# or any other server-side technology.

jQuery Source Code
<script> $(document).ready(function () { $.ajax({ type: "POST", url: "jQueryCall.aspx/getOutput", contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { $("#Content").text(response.d); }, failure: function (response) { alert(response.d); } }); }); </script>

Here we are specifying success: and failure: to show the kind of return data format we are expecting from the web method.

success: function (response)

When the requested web method is successfully executed and the AJAX request is completed, you can specify a success callback function using the .done() or .success() method in jQuery. This callback function will be invoked to process the output or response from the web method. It allows you to handle and manipulate the data returned from the server after a successful execution, enabling dynamic updates and interactions in your web application.


In jQuery's AJAX functionality, you can specify an error handling callback function using the .fail() or .error() method. This callback function will be executed when an exception or error occurs during the execution of the web method. It allows you to handle and respond to errors, providing a way to deal with unexpected issues that may arise during the AJAX request to the server-side method.

C# Source Code
using System.Web.Services; namespace WebApplication { public partial class jQueryCall : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } [WebMethod] public static string getOutput() { return "This is from C# code behind!!"; } } }

When using AJAX to call a C# method in the code-behind of a web page, the method must be defined as a static method in the code-behind file. This is because AJAX requests are typically stateless, and static methods do not rely on the instance state of the page. Static methods can be called directly without needing to create an instance of the page or control.


To call ASP.NET code-behind methods using jQuery AJAX, you need to define the server-side method as a static method marked with the [WebMethod] attribute. This enables the method to be invoked asynchronously via AJAX from the client-side JavaScript, facilitating communication between client and server for dynamic web applications.