Another update: I added a jsonp over iframe transport similar to the
one I had developped for my jquery-jsonp plugin (soon to be obsolete,
hopefully). Made me confident enough coding a new transport and
binding it to a dataType is both easy and non-intrusive. I have some
refactoring to do between $.ajax and $.ajax.createRequest but we're
almost there.

On 8 déc, 23:56, Julian Aubourg <aubourg.jul...@gmail.com> wrote:
> Just comitted version 2 of the ajax refactoring for those interested. The
> tree is in sync with latest jQuery tree.
>
> No more global transport selection function: transports are now bound to
> dataTypes through jQuery.ajax.bindTransport( dataTypeSelector,
> factoryFunction ). The dataTypeSelector is a string containing dataType
> names separated by spaces. If you put a + sign in front of the dataType
> name, then the transport will be the first one to be tested for that
> specific dataType.
>
> For instance: jQuery.ajax.bindTransport( "+json text",
> myTransportFactoryFunction ) ensures myTransportFactoryFunction is the first
> one called for a request with json dataType and the last one called for a
> request with test dataType.
>
> The factory function is in charge of determining if its transport is
> suitable for the given request (it gets the request options object as its
> only parameter). It can return the transport object (with a mandatory send
> method and an optional abort method) or nothing (or false). If it does the
> latter, two cases :
> 1) the dataType in the options object hasn't been changed, in which case the
> selector looks for the next transport in line
> 2) the dataType has been changed and the selector intelligently redirects to
> the transports for this new dataType.
>
> Transports are tested for the dataType and, if non was found, for the
> catchall "*" transports. An exception is raised if no transport is found.
>
> Edge cases, such as cumbersome request type detections, can be handled using
> jQuery.ajax.prefilter( prefilteringFunction ): you can see an example of
> that in transports/jsonp.js.

--

You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-...@googlegroups.com.
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en.


Reply via email to