title: Passing string from AJAX to ASP.NET C# code behind
body: <p>I am new to JS, even less experienced at AJAX. I'm just trying to pass a value to the code behind and return an expanded response.
  The problem is that despite the call succeeding, the string value passed from AJAX to C# is never anything other than "undefined", and it is driving me insane. </p>
  
  <p>The JS</p>
  
  <pre><code>function test() {
  var message = "this is a test" ;
  Display(message);}
  
  function Display(words) {    
  var hummus = { 'pass': words};
  $.ajax({
      type: 'POST',
      url: 'Account.aspx/ShowMe',
      data: hummus,
      contentType: 'application/json; charset=utf-8',
      dataType: 'json',        
      success: function (response) {
          alert("Your fortune: " + response.d);
      },
      error: function (XMLHttpRequest, textStatus, errorThrown) {
         alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + words + "\n\nError: " + lion);
      }    
  });}
  </code></pre>
  
  <p>The Code Behind</p>
  
  <pre><code>[WebMethod]
  [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
  public static string ShowMe(string pass)
  {
      string beans = pass + ". We repeat this is only a test.";
  
      return beans;
  }
  </code></pre>
  
  <p>The end result is invariably "Your fortune: undefined. We repeat this is only a test."
  I would only like to know what I am missing.
  Yes this is probably a stupid question but my searches reveal nothing helpful.</p>