Hi friends
I am calling a asmx web services using JQuery with passing parameters as an javascript object that is converted to JSon.
var UpdatePDetails = new Object();
var FName = $("#txtFirstName").val();
var LName = $("#txtLastName").val();
var SName = $("#txtSurName").val();
var BGroup = $("#txtBloodGroup").val();
var EMail = $("#txtEMail").val();
var Mobile = $("#txtMobile").val();
UpdatePDetails.FirstName = FName;
UpdatePDetails.LastName = LName;
UpdatePDetails.SurName = SName;
UpdatePDetails.EMail = EMail;
UpdatePDetails.BloodGroup = BGroup;
UpdatePDetails.Mobile = Mobile;
var LoginUser = $("#HLU").val();
var param = '{"ThisPrimaryDetails":"' + JSON.stringify(UpdatePDetails) + '", "UserId" : ' + LoginUser + ' }';
and this is my ajax function
$.ajax
({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "http://localhost:59415/MyProfile.aspx/UpdatePrimaryDetails",
data: param,
dataType: "json",
success: OnUpdateSuccess,
error: OnUpdateFail
});
}
catch (err)
{
alert("Error Occured in Ajax Function " + err.Message);
}
and this is my web service code
con = New SqlConnection(constr)
Dim cmd As New SqlCommand()
Dim value As Integer
Try
con.Open()
Query = "Update Users Set FirstName='" + ThisPrimaryDetails.FirstName + "' , LastName='" + ThisPrimaryDetails.LastName + "' , SurName='" + ThisPrimaryDetails.SurName + "' , EMail='" + ThisPrimaryDetails.EMail + "' , BloodGroup='" + ThisPrimaryDetails.BloodGroup + "' , Mobile='" + ThisPrimaryDetails.Mobile + "' where UserId='" + UserId.ToString + "'"
cmd = New SqlCommand(Query, con)
value = cmd.ExecuteNonQuery()
Catch ex As Exception
value = -1
'MsgBox(ex.ToString)
End Try
Return value
I am getting the error as below
Error Occured in Update Fail
{"Message":"Invalid object passed in, \u0027:\u0027 or \u0027}\u0027 expected. (26): {\"ThisPrimaryDetails\":\"{\"FirstName\":\"John\",\"LastName\":\"Suvera\",\"SurName\":\"Abhramin\",\"EMail\":\"john@gmail.com\",\"BloodGroup\":\"O +Ve\",\"Mobile\":\"845932523\"}\", \"UserId\" : 3 }","StackTrace":" at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary(Int32 depth)\r\n at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)\r\n at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)\r\n at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)\r\n at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)\r\n at System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext context, JavaScriptSerializer serializer)\r\n at System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.ArgumentException"}