$(link).pjax( container, options )

The $(link).pjax() function accepts a container, an options object,
or both. The container MUST be a string selector - this is because we
cannot persist jQuery objects using the History API between page loads.

The options are the same as jQuery's $.ajax options with the
following additions:

container - The String selector of the container to load the
reponse body. Must be a String.

target - The Element that was clicked to start the pjax call.

push - Whether to pushState the URL. Default: true (of course)

replace - Whether to replaceState the URL. Default: false

timeout - pjax sets this low, <1s. Set this higher if using a
custom error handler. It's ms, so something like
timeout: 2000

fragment - A String selector that specifies a sub-element to
be pulled out of the response HTML and inserted
into the container. Useful if the server always returns
full HTML pages.

$.pjax( options )

You can also just call $.pjax directly. It acts much like $.ajax, even
returning the same thing and accepting the same options.

The pjax-specific keys listed in the $(link).pjax() section work here
as well.