locked
Jquery Ajax call error RRS feed

  • Question

  • User1804579801 posted

    My ajax call does not work shows the below error 

    Unexpected token , in JSON at position 1505

    but my webservice works successfully and JSON format is also correct 

    [WebMethod(EnableSession = true)]
        [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]//Specify return format.
        public void login(string UserName, string Password)
        {
    
            //Generation of Authentication Key
            var hmac = new HMACSHA256();//Key Generation Code
            var key = Convert.ToBase64String(hmac.Key);
            string Athen_key = Regex.Replace(key, "[^0-9A-Za-z]+", "");//Removing Special Character
    
            string otpmessage = string.Empty,senderId=string.Empty,otpurl=string.Empty,otp=string.Empty,mobileno=string.Empty;
    
            List<Response> listlogin = new List<Response>();
            using (SqlConnection con = new SqlConnection(strConn))
            {
                SqlCommand cmd = new SqlCommand("App_Service", con);
                try
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@Paravalue", "1");
                    cmd.Parameters.AddWithValue("@value", UserName);
                    cmd.Parameters.AddWithValue("@value1", Password);
                    cmd.Parameters.AddWithValue("@value2", Athen_key);
                    cmd.Parameters.AddWithValue("@value3", "0");
                    con.Open();
                    SqlDataReader rdr = cmd.ExecuteReader();
                    if (rdr.HasRows)
                    {
                        while (rdr.Read())
                        {
                            mobileno = rdr["vPhonenumber"].ToString();
                            otp = rdr["OTP"].ToString();
    
                            Response res = new Response();
                            res.status = 0;
                            res.message = "Welcome To BCT";
                            res.auth_key = Athen_key;
                            Data data = new Data();
                            {
                                data.iAdminId = rdr["iAdminId"].ToString();//TrainerId or UserId
                                data.vName = rdr["vName"].ToString();
                                data.vEmail = rdr["vEmail"].ToString();
                                data.username = rdr["UserName"].ToString();
                                data.vPhonenumber = rdr["vPhonenumber"].ToString();
                             
                                data.iGroupId = rdr["iGroupId"].ToString();//RoleId
                                // data.dLastAccess =DateTime.Parse(rdr["dLastAccess"].ToString());
                                data.iSysRecDeleted = 0;
                                data.vLogo = rdr["VLogo"].ToString();
                                data.vProfile_image = rdr["vProfile_image"].ToString();
                                data.Address = rdr["vAddressline1"].ToString();
                                //data.iCityId = int.Parse(rdr["iCityId"].ToString());
                                //data.iStateId = int.Parse(rdr["iStateId"].ToString());
                                data.iCityId = 0; //commented as not using them 
                                data.iStateId = 0;
                                data.vPincode = rdr["vPincode"].ToString();
                                data.vLandline = rdr["vLandline"].ToString();
                                data.vResponsiblePersonName = rdr["vResponsiblePersonName"].ToString();
                                data.vRating = rdr["vRating"].ToString();
                                data.iAgencyStateId = 0;
                                data.iAgencyDistrictId = 0;
                                data.tDescription = rdr["tDescription"].ToString();
                                data.vActivation_code = rdr["vActivation_code"].ToString();
                                data.vFacebookId = rdr["vFacebookId"].ToString();
                                data.vTrainingSpecialization = rdr["vTrainingSpecialization"].ToString();
                                data.vOrganizationType = rdr["vOrganizationType"].ToString();
                                data.vFunctions = rdr["vFunctions"].ToString();
                                data.vFullTimeEmployees = rdr["vFullTimeEmployees"].ToString();
                                data.vStateServed = rdr["vStateServed"].ToString();
                                data.vWebsiteURL = rdr["vWebsiteURL"].ToString();
                                data.vUniqueCode = rdr["vUniqueCode"].ToString();
                                data.vLatitude = rdr["vLatitude"].ToString();
                                data.vLongtitude = rdr["vLongtitude"].ToString();
                                data.vDocuments = rdr["vDocuments"].ToString();
                                data.iUpdatedby = rdr["iUpdatedby"].ToString();
                                data.dUpdatedDate = rdr["dUpdatedDate"].ToString();
                                data.iAddedBy = rdr["iAddedBy"].ToString();
                                data.dAddedOn = rdr["dAddedOn"].ToString();
                                data.auth_key = rdr["auth_key"].ToString();
                                data.device_token = rdr["device_token"].ToString();
                                data.device_type = rdr["device_type"].ToString();
                                data.eApproved = rdr["eApproved"].ToString();
                                data.iApprovedBy = 0;
                                data.dApprovedOn = rdr["dApprovedOn"].ToString();
                                data.iDistrictId = 0;
                                data.vCertificate = rdr["vCertificate"].ToString();
                                data.vDateOfRegistration = rdr["vDateOfRegistration"].ToString();
                                data.vTurnOverLastThirdyear = rdr["vTurnOverLastThirdyear"].ToString();
                                data.vTurnOverLastSecondyear = rdr["vTurnOverLastSecondyear"].ToString();
                                data.vTurnOverLastyear = rdr["vTurnOverLastyear"].ToString();
                                data.vCasetoCasePersons = rdr["vCasetoCasePersons"].ToString();
                                data.vEmpanelledPersons = rdr["vEmpanelledPersons"].ToString();
                                data.vFullTimePersons = rdr["vFullTimePersons"].ToString();
                                data.loginCount = rdr["loginCount"].ToString();
                                res.data = data;
                            };
    
                            listlogin.Add(res);
                            
                        }
                       #region Sending of OTP to Employee
                        try
                        {
            otpmessage = otp + " is the OTP for you to login into the app.OTPs are SECRET.DONOT disclose it to anyone.";
            senderId = "mysenderId";
            otpurl = "http://api.mVaayoo.com/mvaayooapi/MessageCompose?user=myuser:mypassword&senderID=" + senderId + "&receipientno=" + mobileno + "&msgtxt=" + otpmessage;
                           SendMessage(otpurl);
                        }
                        catch(Exception ex)
                        {
                            //If OTP not sent due to some excpetion then send an empty response with execption message
                            #region exceptionifotp_notsend 
                            Response res = new Response();
                            res.status = -1;
                            res.message = "OTP could not sent!!!.";
                            res.auth_key = Athen_key;
                            Data data = new Data();
                            {
                                data.iAdminId = "";//TrainerId or UserId
                                data.vName = "";
                                data.vEmail = "";
                                data.username = "";
                                data.vPhonenumber = "";
                                data.iGroupId = "";//RoleId
                                data.iSysRecDeleted = 0;
                                data.vLogo = "";
                                data.vProfile_image = "";
                                data.Address = "";
                                data.iCityId = 0;
                                data.iStateId = 0;
                                data.vPincode = "";
                                data.vLandline = "";
                                data.vResponsiblePersonName = "";
                                data.vRating = "";
                                data.iAgencyStateId = 0;
                                data.iAgencyDistrictId = 0;
                                data.tDescription = "";
                                data.vActivation_code = "";
                                data.vFacebookId = "";
                                data.vTrainingSpecialization = "";
                                data.vOrganizationType = "";
                                data.vFunctions = "";
                                data.vFullTimeEmployees = "";
                                data.vStateServed = "";
                                data.vWebsiteURL = "";
                                data.vUniqueCode = "";
                                data.vLatitude = "";
                                data.vLongtitude = "";
                                data.vDocuments = "";
                                data.iUpdatedby = "";
                                data.dUpdatedDate = "";
                                data.iAddedBy = "";
                                data.dAddedOn = "";
                                data.auth_key = "";
                                data.device_token = "";
                                data.device_type = "";
                                data.eApproved = "";
                                data.iApprovedBy = 0;
                                data.dApprovedOn = "";
                                data.iDistrictId = 0;
                                data.vCertificate = "";
                                data.vDateOfRegistration = "";
                                data.vTurnOverLastThirdyear = "";
                                data.vTurnOverLastSecondyear = "";
                                data.vTurnOverLastyear = "";
                                data.vCasetoCasePersons = "";
                                data.vEmpanelledPersons = "";
                                data.vFullTimePersons = "";
                                data.loginCount = "";
                                res.data = data;
                            };
    
                            listlogin.Add(res);
                            #endregion
                        }
                       #endregion
    
                    }
                    else
                    {
                        Response res = new Response();
                        res.status = -1;
                        res.message = "Employee does not exists with the mobile number entered !!!";
                        res.auth_key = Athen_key;
                        Data data = new Data();
                        {
                            data.iAdminId = "";//TrainerId or UserId
                            data.vName = "";
                            data.vEmail = "";
                            data.username = "";
                            data.vPhonenumber = "";
                            data.iGroupId = "";//RoleId
                            data.iSysRecDeleted = 0;
                            data.vLogo = "";
                            data.vProfile_image = "";
                            data.Address = "";
                            data.iCityId = 0;
                            data.iStateId = 0;
                            data.vPincode = "";
                            data.vLandline = "";
                            data.vResponsiblePersonName = "";
                            data.vRating = "";
                            data.iAgencyStateId = 0;
                            data.iAgencyDistrictId = 0;
                            data.tDescription = "";
                            data.vActivation_code = "";
                            data.vFacebookId = "";
                            data.vTrainingSpecialization = "";
                            data.vOrganizationType = "";
                            data.vFunctions = "";
                            data.vFullTimeEmployees = "";
                            data.vStateServed = "";
                            data.vWebsiteURL = "";
                            data.vUniqueCode = "";
                            data.vLatitude = "";
                            data.vLongtitude = "";
                            data.vDocuments = "";
                            data.iUpdatedby = "";
                            data.dUpdatedDate = "";
                            data.iAddedBy = "";
                            data.dAddedOn = "";
                            data.auth_key = "";
                            data.device_token = "";
                            data.device_type = "";
                            data.eApproved = "";
                            data.iApprovedBy = 0;
                            data.dApprovedOn = "";
                            data.iDistrictId = 0;
                            data.vCertificate = "";
                            data.vDateOfRegistration = "";
                            data.vTurnOverLastThirdyear = "";
                            data.vTurnOverLastSecondyear = "";
                            data.vTurnOverLastyear = "";
                            data.vCasetoCasePersons = "";
                            data.vEmpanelledPersons = "";
                            data.vFullTimePersons = "";
                            data.loginCount = "";
                            res.data = data;
                        };
    
                        listlogin.Add(res);
                    }
                    this.Context.Response.ContentType = "application/json; charset=utf-8";
                    JavaScriptSerializer js = new JavaScriptSerializer() { MaxJsonLength = 867530900 };
                    string JSONResult = js.Serialize(listlogin);
                    string FinalJsonstring1 = JSONResult.Replace("[", "");
                    string FinalJsonstring2 = FinalJsonstring1.Replace("]", "");
                    Context.Response.Write(FinalJsonstring2);
                    cmd.Dispose();
                    con.Close();
                    con.Dispose();
                }
                catch (Exception ex)
                {
                    //ExceptionLogging.SendErrorToText(ex);
                    //status = ex.GetHashCode().ToString();
                    //message = ex.Message.ToString();
                    //throw new SoapException(ex.Message, SoapException.ServerFaultCode, Context.Request.Url.AbsoluteUri);
                }
                finally
                {
                    cmd.Dispose();
                    con.Close();
                    con.Dispose();
                }
            }
        }
    
      public  string SendMessage(string otpurl)
        {
            WebRequest request2 = HttpWebRequest.Create(otpurl);
            HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse();
            Stream s2 = (Stream)response2.GetResponseStream();
            StreamReader readStream2 = new StreamReader(s2);
            string dataString2 = readStream2.ReadToEnd();
            response2.Close();
            s2.Close();
            readStream2.Close();
            return "Success";
        }
    --Jquery Code ajax call ---
    
     /*login submit*/
        $(document).on("click", "#login_submit", function(e) {
    		debugger;
            var usrMobile = (elements_ids.$login_mobile_input.val()).trim();
            var usrPassword = (elements_ids.$login_password_input.val()).trim();
            var usrDevType = "ANDROID";
            var validationFlag = "";
    
    
            if (usrMobile === null || usrMobile === "" || usrMobile === " ") {
                validationFlag = "Mobile number should not be empty!";
            }
    		/*else if (usrPassword === null || usrPassword === "" || usrPassword === " ") {
                validationFlag = "Password should not be empty!";
            }*/
             else if (usrMobile !== null || usrMobile !== "" || usrMobile !== " ") {
                        validateMobile(usrMobile) ? validationFlag = "" : validationFlag = "Invalid Mobile Number!";
                    }
            
            if (validationFlag === null || validationFlag === "" || validationFlag === " ") {
                logInService(usrMobile, usrPassword, usrDevType);
            } else {
                navigator.notification.alert("Check " +validationFlag);
                // SpinnerPlugin.activityStop();
            }
    
        });
    
    
    var logInService = function(usrMobile, usrPassword, usrDevType) {
        SpinnerPlugin.activityStart("Loading...", { dimBackground: true });
        var userdata = {
            "UserName": usrMobile,
            "password": usrPassword,
            "device_type": usrDevType,
            "device_token": "123456",
        }
    
        $.ajax({
            type: "POST",
            url: base_url + "login",
            data: userdata,
            timeout: 60000,
            dataType: "json",
            Complete: function(xhr) {
                xhr.getResponseHeader("Accept", "json");
            },
    		//alert("sdfgtrsdgb");
            success: function(res) {
                console.log(res);
                window.localStorage.clear();
                //inputFieldsClear.loginClear();
    			//SpinnerPlugin.activityStop();
    			
                if (res.status === 0) {
                    // localStorage.setItem("auth_key", res.auth_key);
                    // localStorage.setItem("user_exist", "yes");
                    // localStorage.setItem("userDesignation", res.data.designation);
                    // localStorage.setItem("userDeviceToken", res.data.device_token);
                    // localStorage.setItem("userDeviceType", res.data.device_type);
                    // localStorage.setItem("userEmail", res.data.vEmail);
                    // localStorage.setItem("userFullName", res.data.vName);
                    // localStorage.setItem("userMobileNumber", res.data.vPhonenumber);
                    // localStorage.setItem("userOrganization", res.data.vDepartmentName);
                    // localStorage.setItem("userId", res.data.iAdminId);
                    localStorage.setItem("auth_key", res.auth_key);
                    localStorage.setItem("user_exist", "yes");
                    var jsonV = {
                        "userDesignation":res.data.designation,
                        "userDeviceToken":res.data.device_token,
                        "userDeviceType":res.data.device_type,
                        "userEmail":res.data.vEmail,
                        "userFullName":res.data.vName,
                        "userMobileNumber":res.data.vPhonenumber,
                        "userOrganization":res.data.vDepartmentName,
                        "userId":res.data.iAdminId,
                       
                    }
                    
                    
                    var a = CryptoJS.AES.encrypt(JSON.stringify(jsonV),res.auth_key, 256);
                    localStorage.setItem("d",a);
                  
                    var d = CryptoJS.AES.decrypt(localStorage.getItem("d"),localStorage.getItem("auth_key")).toString(CryptoJS.enc.Utf8);
            //var b = JSON.parse(d);  // commented on 25 feb 2020 as error was coming  Unexpected token , in JSON at position 1507" in jquery
            //console.log(b);
    
    
                    if (res.data.vProfile_image == null || res.data.vProfile_image == " " || res.data.profilepic == "") {
                        localStorage.setItem("userDP", "images/profile-img.png");
                    } else {
                        var dp = dp_image + res.data.vProfile_image;
                        localStorage.setItem("userDP", dp);
                    }
    				//alert("call getHomePage");
                     getHomePage();
                    // getDesignationProfileEdit(); //commented by pavani 25 feb 2020 as not requried.
                    //getStatesEnroll();
                    //getCityLists();
    				//$("#verifyotp").show();
                } else {
                    //localStorage.setItem("user_exist", "yes");
    				//$("#verifyotp").hide();
                    SpinnerPlugin.activityStop();
                    navigator.notification.alert(res.message);
                }
    
    
            },
            error: function(xhr, status, err) {
                ErrorHandler(xhr, status, err);
            }
        });
    
    }

    Please suggest 

    Tuesday, February 25, 2020 1:11 PM

All replies

  • User475983607 posted

    nagapavanich

    Please suggest 

    Your code has a lot of design problems.  The biggest issue currently is the empty catch clock  The code could be throwing an exception and you would never know.  The other big issue with the design is manually serializing JSON.  The method should just return a proper type not void.  The Frmework will serialize the type for you there is no need to build a string.  Please follow the standards and you should be fine.

    Lastly, you could simply click the error which will take you to the line of code that caused the error.  That's much easier than the community go through code that has many logical issues.

    Tuesday, February 25, 2020 2:17 PM
  • User1535942433 posted

    Hi nagapavanich,

    Accroding to your description,as far as I think,there are serval problems:

    1.ajax data is userdata and in the code behind is UserName and Password.Inconsistent data transmitted and received in the background.

    2.The login method need to return data instead of void.

    3.The url is link to the method in the background.

    More details,you could refer to below articles:

    https://stackoverflow.com/questions/42647540/return-json-object-from-asp-net-webmethod-to-ajax-call/42649928

    Best regards,

    Yijing Sun

    Wednesday, February 26, 2020 11:50 AM
  • User1804579801 posted

    Thank you for the replay.

    I am getting below error 

    I made some changes in my web service method  

    System.Web.Services.Protocols.SoapException: Unable to connect to the remote server

    In my Webservice, I am trying to connect to mVaayoo service is it possible from ajax jquery using PhoneGap.

    I created a separate method in web service as below 

     public void SendMessage(string senderId, string mobileno, string otpmessage)
        {
            try
            {
                string otpurl = "http://api.mVaayoo.com/mvaayooapi/MessageCompose?user=myuserdetails:mypassword&senderID=" + senderId + "&receipientno=" + mobileno + "&msgtxt=" + otpmessage;
                WebRequest request2 = HttpWebRequest.Create(otpurl);
                HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse();
                Stream s2 = (Stream)response2.GetResponseStream();
                StreamReader readStream2 = new StreamReader(s2);
                string dataString2 = readStream2.ReadToEnd();
                response2.Close();
                s2.Close();
                readStream2.Close();
            }
            catch (Exception ex)
            {
                ExceptionLogging.SendErrorToText(ex);
                throw new SoapException(ex.Message, SoapException.ServerFaultCode, Context.Request.Url.AbsoluteUri);
            }
        }

    and I am calling in login web service method 

    #region Sending of OTP to Employee
                        otpmessage = otp + " is the OTP for you to login into the app.OTPs are SECRET.DONOT disclose it to anyone.";
                        senderId = "mysenderId";
                        SendMessage(senderId, mobileno, otpmessage);
    
                        #endregion

    When I check in browser I am getting the OTP generated but when calling from ajax call in PhoneGap am getting  "Unable to connect to the remote server".I did lot of searching for this issue to solve but nothing could not solve my problem 

    Thursday, February 27, 2020 8:59 AM
  • User1804579801 posted

    Thank you all for your time 

    I worked with my IT team and checked there was internet speed connection problem they removed proxy 

    It got solved

    Thursday, February 27, 2020 11:59 AM