What is the basic difference between $.ajax() and $.get() and $.load()?
Need some explanation about the best one to use according to which condition.
The methods provide different layers of abstraction.
$.ajax() gives you full control over the Ajax request. You should use it if the other methods don't fullfil your needs.
$.get() executes an Ajax GET request. The returned data (which can be any data) will be passed to your callback handler.
$(selector).load() will execute an Ajax GET request and will set the content of the selected returned data (which should be either text or HTML).
.load() is similar to $.get() but adds functionality which allows you to define where in the document the returned data is to be inserted. Therefore really only usable when the call only will result in HTML. It is called slightly differently than the other, global, calls, as it is a method tied to a particular jQuery-wrapped DOM element. Therefore, one would do: $('#divWantingContent').load(...)
It depends on the situation which method you should use. If you want to do simple stuff, there is no need to bother with $.ajax().
E.g. you won't use $.load(), if the returned data will be JSON which needs to be processed further. Here you would either use $.ajax() or $.get().