Web Service method name is not valid

Try using this, I think datatype should be JSON

       jQuery.ajax({
            type: "POST",  // or GET
            url: "/AllService.asmx/SaveBOAT",
            data: { Pid: b },
            contentType: "application/json; charset=utf-8",
            dataType: "json"
            success: function(dd) {
                alert('Success' + dd);
            },
            error: function(dd) {
                alert('There is error' + dd.responseText);
            }
        });

And in C# Code change Pid to string

    [WebMethod]
     public static string SaveBOAT(string Pid)
     {        
      SessionManager.MemberID = Pid;
      return "";
     }

In my case I had copied another asmx file, but not changed the class property to the name of the new class in the asmx file itself (Right click on asmx file -> View Markup)


It was a silly mistake.

remove Static keyword from method declaration.

[WebMethod]
public string SaveBOAT(string Pid)
{        
     SessionManager.MemberID = Pid;
     return "";
}

In my case the error was that the Web Service method was declared "private" instead of "public"