Jquery AJAX with ASP.NET WebMethod Returning Entire Page

后端 未结 4 1050
既然无缘
既然无缘 2020-11-29 05:55

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. Howev

相关标签:
4条回答
  • 2020-11-29 06:17

    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.

    0 讨论(0)
  • 2020-11-29 06:19

    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);
          }
        });
    });
    
    0 讨论(0)
  • 2020-11-29 06:22

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

    0 讨论(0)
  • 2020-11-29 06:29

    I had the exactly the same problem: WebMethod returned the entire HTML page instead the intended data. For me, the solution came from changing inside ~/App_Start/RouteConfig.cs the following line:

    settings.AutoRedirectMode = RedirectMode.Permanent;
    

    to

    settings.AutoRedirectMode = RedirectMode.Off;
    
    0 讨论(0)
提交回复
热议问题