views:

411

answers:

2

Let's say I want to execute a PHP script. Which way is better?

This:

$.ajax({
    type: "GET",
    url: "php-script.php",
    dataType: "script"
});

Or this:

$.get("php-script.php", function(data) { });
+2  A: 

$.get() is just a shortcut for an $.ajax() call of type "GET".

To Elaborate $.get() just calls $.ajax() in the background. Its a shortcut kind of like what $(function(){}) is to $(document).ready(function(){}). Common use cases for $.get is for a quick and simple get, $.ajax should be used if you need to do something a bit more complex or if you need the extra flexibility.

Darko Z
$.get wraps $.ajax with type="GET". It's more than just a shortcut, the key difference being you can't make a POST request to the server using $.get.
karim79
uhh i would have thought that obvious... i have updated it since you think its not.
Darko Z
@Darko Z - no it did not seem obvious from your answer, that's why I commented - to point that out. Your update, however, does make it obvious.
karim79
+4  A: 

In this case, I'd say $.get, as it's immediately clear what the type of request is. At any rate, it's just shorthand for the larger and more option-ified ajax call, and converting between the two is trivial in the worst case.

If you think that you'll need fancy $.ajax options, use $.ajax. If you don't use the convenience methods jQuery provides, such as .load, $.get, etc.

Stefan Kendall