문제

I have the exact code when declaring webmethod in aspx file and in asmx file. They are webmethods exposed for client scripting. I just want to use webmethod inside asmx file, but cannot get it to work.

When I reference a method in aspx file everything works just fine, but when I reference webmethod in asmx I receive an error method unknown. I checked all solutions for "unknown method, parametar methodname" but nothing helped.

Webmethod is both declared in a similar way:

[WebMethod]
public static string[] InsertRecord(string param) { return something }

Only difference is that asmx contains [System.Web.Script.Services.ScriptService] for class.

I cant figure out what is the problem.

WebMethod is being called from Jquery script places in a control (ascx).

function InsertRecord(notice)
{
        $.ajax({
        type: "POST",
        url: "/Webservices/Records.asmx/InsertRecord",
        data: "{ 'notice':'" + notice + '' }",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(response) {

        },
        error: function(msg) {}

        });

}

도움이 되었습니까?

해결책

your web.config file maybe needs this (check if it is there):

    <webServices>
        <protocols>
              <add name="HttpSoap"/> 
              <add name="HttpPost"/>
              <add name="HttpGet"/>
              <add name="Documentation"/>
        </protocols>
     </webServices>

you neeed to uset httppost and httpget in your web.config file, or your ajax call will never happen.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top