title: What is the best choice for making AJAX calls to a WCF service?
body: <p>The <a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34488" rel="nofollow noreferrer">Microsoft AJAX Library Preview 6</a> and <a href="http://docs.jquery.com/Ajax/jQuery.ajax#examples" rel="nofollow noreferrer">jQuery</a> provide several ways to make the sorts of calls I need:</p>
  
  <ul>
  <li>Sys.Net.WebRequest (ASP.NET Ajax)</li>
  <li>Sys.Net.WebServiceProxy (ASP.NET Ajax)</li>
  <li>$.ajax (jQuery)</li>
  </ul>
  
  <p><strong>Sys.Net.WebRequest</strong> offers a way to specify the verb ("GET", "POST", "PUT", and "DELETE"), but no built-in callback for a failed request (they all seem to use the same callback, success or fail).</p>
  
  <p><strong>Sys.Net.WebServiceProxy</strong> seems to only do "GET"/"POST" (via the "useGet" parameter on the invoke method). There are callbacks for both success and failure.</p>
  
  <p><strong>$.ajax</strong> offers a way to specify the verb, has both success/failure callbacks, and can specify timeout length (among other things).</p>
  
  <p>From the standpoints of maintainability, reliability, and usability, which of these would be the best method to standardize on when making AJAX calls to a WCF service (which returns JSON results)?</p>
  
  <p>jQuery seems to do everything I want, but I could be missing something with the MicrosoftAjax library (as it's so big...). If I'm missing anything, or don't have my facts right, let me know!</p>
  
  <p>Thanks!</p>