bestsource

ASP를 사용하는 Jquery AJAX.페이지 전체를 반환하는 NET Web Method

bestsource 2023. 2. 28. 23:40
반응형

ASP를 사용하는 Jquery AJAX.페이지 전체를 반환하는 NET Web Method

ASP를 호출하기 위해 (대규모 프로젝트에 대비하여) 간단한 테스트를 하고 있습니다.JQuery AJAX를 사용하는 NET WebMethod.이 예에서는 WebMethod가 단순한 문자열을 반환합니다.그러나 JQuery를 사용하여 호출하려고 하면 문자열뿐만 아니라 HTML 페이지 콘텐츠 전체가 반환됩니다.제가 무엇을 빠뜨리고 있나요?

클라이언트 측:

$(document).ready(function ready() {
        $("#MyButton").click(function clicked(e) {
            $.post("Default.aspx/TestMethod",
                {name:"Bob"},
                function(msg) {
                    alert("Data Recieved: " + msg);
                },
                "html"
            );
        });
    });

서버측:

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

이 링크를 확인해 주세요.나는 WCF 서비스를 성공적으로 종료하기 위해 그의 다른 게시물들을 이용했다.관련 기사를 확인해 주세요.

http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

기사를 끝까지 읽어보십시오만, 기본적으로는 다음과 같습니다.

  $("#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);
      }
    });
});

JQuery의 $.post 명령어의 "type" 파라미터와 혼동하고 있었던 것 같습니다.일부 사용자와 통화한 결과, WebMethod를 호출하기 위한 반환 유형은 "json"이어야 합니다.'html'을 쓰려고 했는데일단 "json"으로 바꾸면 모든 게 정상적으로 작동했어요.[Web Method]로 장식된 메서드는 JSON만 반환하고 거기서부터가 제 고민이었던 것 같습니다.

답장 고마워요 여러분.

마지막 매개 변수 "html"을 "text"로 변경해 보십시오.이 매개 변수는 반환되는 데이터 유형을 지정합니다.

나도 똑같은 문제가 있었어WebMethod는 의도한 데이터 대신 HTML 페이지 전체를 반환했습니다.이 솔루션은 ~/App_Start/RouteConfig.cs 내에서 다음과 같이 변경되었습니다.

settings.AutoRedirectMode = RedirectMode.Permanent;

로.

settings.AutoRedirectMode = RedirectMode.Off;

언급URL : https://stackoverflow.com/questions/348689/jquery-ajax-with-asp-net-webmethod-returning-entire-page

반응형