Sha256: 467aa158ff0243013a6c70147f242ea25d3122ac5a69124ef4e368b44a704cf2

Contents?: true

Size: 1.23 KB

Versions: 27

Compression:

Stored size: 1.23 KB

Contents

// A bare-bones implementation of $.ajax that MessageBus will use
// as a fallback if jQuery is not present
//
// Only implements methods & options used by MessageBus
(function(global) {
  'use strict';
  if (!global.MessageBus){
      throw new Error("MessageBus must be loaded before the ajax adapter");
  }

  global.MessageBus.ajax = function(options){
    var XHRImpl = (global.MessageBus && global.MessageBus.xhrImplementation) || global.XMLHttpRequest;
    var xhr = new XHRImpl();
    xhr.dataType = options.dataType;
    xhr.open('POST', options.url);
    for (var name in options.headers){
      xhr.setRequestHeader(name, options.headers[name]);
    }
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    if (options.messageBus.chunked){
      options.messageBus.onProgressListener(xhr);
    }
    xhr.onreadystatechange = function(){
      if (xhr.readyState === 4){
        var status = xhr.status;
        if (status >= 200 && status < 300 || status === 304){
          options.success(xhr.responseText);
        } else {
          options.error(xhr, xhr.statusText);
        }
        options.complete();
      }
    }
    xhr.send(new URLSearchParams(options.data).toString());
    return xhr;
  };

})(window);

Version data entries

27 entries across 14 versions & 1 rubygems

Version Path
message_bus-4.3.8 vendor/assets/javascripts/message-bus-ajax.js
message_bus-4.3.8 assets/message-bus-ajax.js
message_bus-4.3.7 vendor/assets/javascripts/message-bus-ajax.js
message_bus-4.3.7 assets/message-bus-ajax.js
message_bus-4.3.6 assets/message-bus-ajax.js
message_bus-4.3.6 vendor/assets/javascripts/message-bus-ajax.js
message_bus-4.3.4 vendor/assets/javascripts/message-bus-ajax.js
message_bus-4.3.4 assets/message-bus-ajax.js
message_bus-4.3.3 vendor/assets/javascripts/message-bus-ajax.js
message_bus-4.3.3 assets/message-bus-ajax.js
message_bus-4.3.2 vendor/assets/javascripts/message-bus-ajax.js
message_bus-4.3.2 assets/message-bus-ajax.js
message_bus-4.3.1 assets/message-bus-ajax.js
message_bus-4.3.1 vendor/assets/javascripts/message-bus-ajax.js
message_bus-4.3.0 vendor/assets/javascripts/message-bus-ajax.js
message_bus-4.3.0 assets/message-bus-ajax.js
message_bus-4.2.0 vendor/assets/javascripts/message-bus-ajax.js
message_bus-4.2.0 assets/message-bus-ajax.js
message_bus-4.1.0 assets/message-bus-ajax.js
message_bus-4.1.0 vendor/assets/javascripts/message-bus-ajax.js