JSONP and randomly generated callback function

JSONP and randomly generated callback function

Hello, I've several doubt about the JSONP usage. I'm using JQuery to make JSONP requests and the documentation is quite confusing to me. I hope my question is not too long.

  1. In the specs it's written a JSONP call is always async. Is it a jQuery choice or the nature of JSONP?
    • async:false would be simply ignored?
  2. If the jsonpCallback parameter is specified, this function will be executed when the data are retrieved. But right after, also the success callback will be executed. Can two callbacks co-exists? Is it the best usage pattern or should I just remove the success in this case?
  3. If the jsonpCallback is not specified a random callback function will be created and attached to the window object. Something like jQuery1360574548776335413_1776656584447. How does it work? Does it call the success callback passing to it its return data?
  4. Is the success the only available helper? The error and complete aren't available?
Here's my code:
  1. (function($) {
  2.     var url = "https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC";
  3.     $.ajax({
  4.         type: 'GET',
  5.         url: url,
  6.         // JSONP always async?
  7.         async: false,
  8.         jsonp: "callback",
  9.         jsonpCallback: 'jsonCallback',
  10.         contentType: "application/json",
  11.         dataType: 'jsonp',
  12.         //success always called even when jsonpCallback is specified?
  13.         success: function(json) {
  14.             console.dir(json);
  15.         },
  16.         // Error never called?
  17.         error: function(e) {
  18.             console.log(e.message);
  19.         }
  20.     });
  21. })(jQuery);

  22. function jsonCallback(json) {
  23.     $(".test").html(json.volumeInfo.title);
  24. }
Thanks