Skip to main content

Jquery AJAX with ASP.NET WebMethod Returning Entire Page


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;
}
}
}


Source: Tips4allCCNA FINAL EXAM

Comments

  1. 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:

    $(document).ready(function() {
    $("#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);
    }
    });

    ReplyDelete
  2. Try changing the last parameter "html" to "text". This parameter specifies the type of data to be returned.

    ReplyDelete
  3. I think I was getting confused with the "type" parameter in JQuery's $.post command. After talking to some folks, it seems that the return type for calling a WebMethod MUST be "json". I was trying to use "html". Once I changed it to "json" and then everything worked like normal. So apparently, a method decorated with [WebMethod] returns JSON only, and that's where my hangup was.

    Thanks for your replies guys.

    ReplyDelete
  4. Check out the link below it might help you for your solution:

    http://azamsharp.com/Posts/83_Using_FireBug_Profiler_to_Dig_Deep_into_MS_AJAX_and_JQuery_API.aspx

    Above link no longer exists. Internet Archive Link

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?