'POST command missing parameters in SSL (https:) but working with http

I have an ASMX web service for login into the website. I call the web service by using an ajax request. this works as intended on non-SSL (HTTP). However, when running in SSL (https) I got an error message as below.

{"Message": "Invalid web service call, missing value for parameter: 'username'.",
"StackTrace": "
   at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2 parameters)
   at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)
   at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)
   at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType": "System.InvalidOperationException"
}

Here is my ASMX web service.

using System.Web.Security;
using System.Web.Services;

namespace MyWebSite
{
   [WebService(Namespace = "https://mywebsite.net")]
   [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
   [System.ComponentModel.ToolboxItem(false)]
   [System.Web.Script.Services.ScriptService]
   public class AuthService : System.Web.Services.WebService
   {
       [WebMethod]
       public bool Login(string username, string password)
       {
           if (Membership.ValidateUser(username, password)){
               FormsAuthentication.SetAuthCookie(username, true);
               return true;
            }
            else {
               return false;
            }
        }
    }
 }

And this is the ajax for call the web service.

 function login(event) {
    if ($('#form1').validate().form()) {
       $.ajax({
          type: 'POST',
          url: 'Services/AuthService.asmx/Login',
          contentType: 'application/json; charset=utf-8',
          dataType: 'json',
          data: JSON.stringify({
              username: $('#inputUsername').val(),
              password: $('#inputPassword').val()
          }),
          success: function (response) {
              $('#btn-login').removeAttr('disabled');
              //
              if (response.d) {
                 window.location.href = 'default.aspx';
              }
           },
           error: function (response) {
               var err = $.parseJSON(response.responseText);
               console.log(err.message);
           }
       });
    }
}
Please help me. Thanks in advance!


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source