It really depends on the situation.
However, if you're using ASP.Net with Web Services, you probably will want to use the $.ajax method as you need to pass an empty data set.
This blog post explains why:
http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/
An example:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "WebService.asmx/WebMethodName",
data: "{}",
dataType: "json"
});
As you can see, the $.ajax() method allows you to specify "GET" ( passed in the query string ) or "POST" ( passed in the request )
Yes, it's more "complex" but you can use $.ajaxSetup() to simplify the call:
Here's a blog post on that:
http://encosia.com/2009/07/21/simplify-calling-asp-net-ajax-services-from-jquery/
An example from that page:
$.ajaxSetup({
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{}"
});
This sets up defaults for the values in $.ajax so you don't need to set them up.
Your code could then be as simple as:
$.ajax({
url: "HelloWorld.asmx/Hello",
success: function(msg) {
/* Do Stuff */
}
});
or even:
$.ajax({ url: "HelloWorld.asmx/Hello" });