복붙노트

[JQUERY] Ajax 메소드 호출

JQUERY

Ajax 메소드 호출

해결법


  1. 1.귀하의 방법은 JSONRESULT를 반환합니다. 이것은 MVC 특정이며 WebForms 응용 프로그램에서 사용할 수 없습니다.

    귀하의 방법은 JSONRESULT를 반환합니다. 이것은 MVC 특정이며 WebForms 응용 프로그램에서 사용할 수 없습니다.

    클래식 WebForms 응용 프로그램에서 해당 코드에서 메서드를 호출하려면 PageMethods를 사용할 수 있습니다.

    [WebMethod]
    public static string GetDate()
    {
        return DateTime.Now.ToString();
    }
    

    그런 다음 방법을 호출합니다.

    $.ajax({
        type: 'POST',
        url: 'PageName.aspx/GetDate',
        data: '{ }',
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function(msg) {
            // Do something interesting here.
        }
    });
    

    그리고 여기에 내가 쓴 완전한 일 실시 예는 다음과 같습니다.

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Web.Services" %>
    <script type="text/C#" runat="server">
        [WebMethod]
        public static string SayHello(string name)
        {
            return "Hello " + name;
        }
    </script>
    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <script type="text/javascript" src="/scripts/jquery-1.4.1.js"></script>
        <script type="text/javascript">
            $(function () {
                $.ajax({
                    type: 'POST',
                    url: 'default.aspx/sayhello',
                    data: JSON.stringify({ name: 'John' }),
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function (msg) {
                        // Notice that msg.d is used to retrieve the result object
                        alert(msg.d);
                    }
                });
            });
        </script>
    </head>
    <body>
        <form id="Form1" runat="server">
    
        </form>
    </body>
    </html>
    

    PageMethods는 단순 인수 유형에만 국한되지 않습니다. 어떤 유형의 입력을 입력하고 출력 할 수 있으며 자동으로 JSON 직렬화됩니다.

  2. from https://stackoverflow.com/questions/4508409/ajax-method-call by cc-by-sa and MIT license