title: "Invalid JSON primitive" in Ajax processing
body: <p>I am getting an error in an ajax call from jQuery.</p>
  
  <p>Here is my jQuery function:</p>
  
  <pre><code>function DeleteItem(RecordId, UId, XmlName, ItemType, UserProfileId) {
      var obj = {
          RecordId: RecordId,
          UserId: UId,
          UserProfileId: UserProfileId,
          ItemType: ItemType,
          FileName: XmlName
      };
      var json = Sys.Serialization.JavaScriptSerializer.serialize(obj);
  
      $.ajax({
          type: "POST",
          url: "EditUserProfile.aspx/DeleteRecord",
          data: json,
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          async: true,
          cache: false,
          success: function(msg) {
              if (msg.d != null) {
                  RefreshData(ItemType, msg.d);
              }
          },
          error: function(XMLHttpRequest, textStatus, errorThrown) {
              alert("error occured during deleting");
          }
      });
  }
  </code></pre>
  
  <p>and this is my <code>WebMethod</code>:</p>
  
  <pre class="lang-cs prettyprint-override"><code>[WebMethod]
  public static string DeleteRecord(Int64 RecordId, Int64 UserId, Int64 UserProfileId, string ItemType, string FileName) {
      try {
          string FilePath = HttpContext.Current.Server.MapPath(FileName);
  
          XDocument xmldoc = XDocument.Load(FilePath);
          XElement Xelm = xmldoc.Element("UserProfile");
          XElement parentElement = Xelm.XPathSelectElement(ItemType + "/Fields");
  
          (from BO in parentElement.Descendants("Record")
           where BO.Element("Id").Attribute("value").Value == RecordId.ToString()
           select BO).Remove();
          XDocument xdoc = XDocument.Parse(Xelm.ToString(), LoadOptions.PreserveWhitespace);
          xdoc.Save(FilePath);
  
          UserInfoHandler obj = new UserInfoHandler();
          return obj.GetHTML(UserId, UserProfileId, FileName, ItemType, RecordId, Xelm).ToString();
      } catch (Exception ex) {
          HandleException.LogError(ex, "EditUserProfile.aspx", "DeleteRecord");
      }
      return "success";
  }
  </code></pre>
  
  <p>Can anybody please tell me what's wrong in my code?</p>
  
  <p>I am getting this error:</p>
  
  <pre><code>{
      "Message":"Invalid JSON primitive: RecordId.",
      "StackTrace":"
         at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()
         at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)
         at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)
         at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
         at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)
         at System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext context, JavaScriptSerializer serializer)
         at System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)
         at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)",
      "ExceptionType":"System.ArgumentException"
  }
  </code></pre>