I'm doing some simple tests (in preparation for a larger project) to call an ASP.NET WebMethod using JQuery AJAX. In my example, my WebMethod returns a simple string. However, when I attempt to call it using JQuery, I get the entire HTML page content returned instead of just my string. What am I missing?
Client Side :
$(document).ready(function ready() { $("#MyButton").click(function clicked(e) { $.post("Default.aspx/TestMethod", {name:"Bob"}, function(msg) { alert("Data Recieved: " + msg); }, "html" ); }); });
Server Side:
using System; using System.Web.Services; namespace JqueryAjaxText { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } [WebMethod] public static string TestMethod(string name) { return "The value submitted was " + name; } } }
Check out this link. I used some of his other posts to calll WCF service with success. Be sure to check out the related articles:
http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/
Read through the article but its essentially:
$("#Result").click(function() { $.ajax({ type: "POST", url: "Default.aspx/GetDate", data: "{}", contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { $("#Result").text(msg.d); } }); });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With