Asked by:
Jquery Ajax call error

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 suggestYour 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:
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