docs: function(ajaxOb, data, type, dataType, success, error) {
  
                  var params = {};
  
                  // A string here would be something like `"GET /endpoint"`.
                  if (typeof ajaxOb === 'string') {
                      // Split on spaces to separate the HTTP method and the URL.
                      var parts = ajaxOb.split(/\s+/);
                      params.url = parts.pop();
                      if (parts.length) {
                          params.type = parts.pop();
                      }
                  } else {
                      // If the first argument is an object, just load it into `params`.
                      can.extend(params, ajaxOb);
                  }
  
                  // If the `data` argument is a plain object, copy it into `params`.
                  params.data = typeof data === "object" && !can.isArray(data) ?
                      can.extend(params.data || {}, data) : data;
  
                  // Substitute in data for any templated parts of the URL.
                  params.url = can.sub(params.url, params.data, true);
  
                  return can.ajax(can.extend({
                              type: type || 'post',
                              dataType: dataType || 'json',
                              success: success,
                              error: error
                          }, params));
              }