title: jQuery.ajax "data" parameter syntax
body: <p>I am trying to pass the contents of a javascript variable to the server for processing.  I can pass static strings no problem but when I pass a variable containing a string, the WebMethod is not called.  Here is my code:
  (Client)</p>
  
  <pre><code>function expand(checkbox) 
  {
      var selectedrow = checkbox.parentNode.parentNode;
      var rowindex = selectedrow.rowIndex;
      var parent = document.getElementById("parentTable");
      var NextRow = parent.rows[rowindex + 1];
  
      var cols = selectedrow.cells[1];
      var ID = cols.firstElementChild.attributes.value;
  
  
      $.ajax({
          type: "post",
          url: "Playground.aspx/childBind",
          data: "{sendData: ID}",
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function (result) { alert("successful!" + result.d); }
      })
  
      NextRow.style.visibility = "visible";
  }
  </code></pre>
  
  <p>(Server)</p>
  
  <pre><code>[WebMethod]
      public static string childBind(string sendData)
      {
          return String.Format("Hello");
      }
  </code></pre>
  
  <p>Now, if I were to try data: "{sendData: "ok"}", the WebMethod gets called and returns a response.  How is my syntax wrong?</p>