Вход Регистрация
Файл: file-upload/js/cors/jquery.xdr-transport.js
Строк: 83
<?php
/*
 * jQuery XDomainRequest Transport Plugin 1.1.3
 * https://github.com/blueimp/jQuery-File-Upload
 *
 * Copyright 2011, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 *
 * Based on Julian Aubourg's ajaxHooks xdr.js:
 * https://github.com/jaubourg/ajaxHooks/
 */

/*jslint unparam: true */
/*global define, window, XDomainRequest */

(function (factory) {
    
'use strict';
    if (
typeof define === 'function' && define.amd) {
        
// Register as an anonymous AMD module:
        
define(['jquery'], factory);
    } else {
        
// Browser globals:
        
factory(window.jQuery);
    }
}(function ($) {
    
'use strict';
    if (
window.XDomainRequest && !$.support.cors) {
        $.
ajaxTransport(function (s) {
            if (
s.crossDomain && s.async) {
                if (
s.timeout) {
                    
s.xdrTimeout s.timeout;
                    
delete s.timeout;
                }
                var 
xdr;
                return {
                    
send: function (headerscompleteCallback) {
                        var 
addParamChar = /?/.test(s.url) ? '&' '?';
                        function 
callback(statusstatusTextresponsesresponseHeaders) {
                            
xdr.onload xdr.onerror xdr.ontimeout = $.noop;
                            
xdr null;
                            
completeCallback(statusstatusTextresponsesresponseHeaders);
                        }
                        
xdr = new XDomainRequest();
                        
// XDomainRequest only supports GET and POST:
                        
if (s.type === 'DELETE') {
                            
s.url s.url addParamChar '_method=DELETE';
                            
s.type 'POST';
                        } else if (
s.type === 'PUT') {
                            
s.url s.url addParamChar '_method=PUT';
                            
s.type 'POST';
                        } else if (
s.type === 'PATCH') {
                            
s.url s.url addParamChar '_method=PATCH';
                            
s.type 'POST';
                        }
                        
xdr.open(s.types.url);
                        
xdr.onload = function () {
                            
callback(
                                
200,
                                
'OK',
                                {
textxdr.responseText},
                                
'Content-Type: ' xdr.contentType
                            
);
                        };
                        
xdr.onerror = function () {
                            
callback(404'Not Found');
                        };
                        if (
s.xdrTimeout) {
                            
xdr.ontimeout = function () {
                                
callback(0'timeout');
                            };
                            
xdr.timeout s.xdrTimeout;
                        }
                        
xdr.send((s.hasContent && s.data) || null);
                    },
                    
abort: function () {
                        if (
xdr) {
                            
xdr.onerror = $.noop();
                            
xdr.abort();
                        }
                    }
                };
            }
        });
    }
}));
?>
Онлайн: 2
Реклама