Switch linting to ESLint and Prettier (#191)
* Switch linting to ESLint and Prettier * Clean up config * Prettier fixes
This commit was merged in pull request #191.
This commit is contained in:
@@ -1,78 +1,86 @@
|
||||
var updateQueryString = require("./util/update-query-string");
|
||||
|
||||
module.exports = function(location, options, callback) {
|
||||
options = options || {}
|
||||
var queryString
|
||||
var requestOptions = options.requestOptions || {}
|
||||
var requestMethod = (requestOptions.requestMethod || "GET").toUpperCase()
|
||||
var requestParams = requestOptions.requestParams || null
|
||||
options = options || {};
|
||||
var queryString;
|
||||
var requestOptions = options.requestOptions || {};
|
||||
var requestMethod = (requestOptions.requestMethod || "GET").toUpperCase();
|
||||
var requestParams = requestOptions.requestParams || null;
|
||||
var formData = requestOptions.formData || null;
|
||||
var requestPayload = null
|
||||
var request = new XMLHttpRequest()
|
||||
var timeout = options.timeout || 0
|
||||
var requestPayload = null;
|
||||
var request = new XMLHttpRequest();
|
||||
var timeout = options.timeout || 0;
|
||||
|
||||
request.onreadystatechange = function() {
|
||||
if (request.readyState === 4) {
|
||||
if (request.status === 200) {
|
||||
callback(request.responseText, request, location, options)
|
||||
}
|
||||
else if (request.status !== 0) {
|
||||
callback(null, request, location, options)
|
||||
callback(request.responseText, request, location, options);
|
||||
} else if (request.status !== 0) {
|
||||
callback(null, request, location, options);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
request.onerror = function(e) {
|
||||
console.log(e)
|
||||
callback(null, request, location, options)
|
||||
}
|
||||
console.log(e);
|
||||
callback(null, request, location, options);
|
||||
};
|
||||
|
||||
request.ontimeout = function() {
|
||||
callback(null, request, location, options)
|
||||
}
|
||||
callback(null, request, location, options);
|
||||
};
|
||||
|
||||
// Prepare the request payload for forms, if available
|
||||
if (requestParams && requestParams.length) {
|
||||
// Build query string
|
||||
queryString = (requestParams.map(function(param) {return param.name + "=" + param.value})).join("&")
|
||||
queryString = requestParams
|
||||
.map(function(param) {
|
||||
return param.name + "=" + param.value;
|
||||
})
|
||||
.join("&");
|
||||
|
||||
switch (requestMethod) {
|
||||
case "GET":
|
||||
// Reset query string to avoid an issue with repeat submissions where checkboxes that were
|
||||
// previously checked are incorrectly preserved
|
||||
location = location.split("?")[0]
|
||||
location = location.split("?")[0];
|
||||
|
||||
// Append new query string
|
||||
location += "?" + queryString
|
||||
break
|
||||
location += "?" + queryString;
|
||||
break;
|
||||
|
||||
case "POST":
|
||||
// Send query string as request payload
|
||||
requestPayload = queryString
|
||||
break
|
||||
requestPayload = queryString;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (formData) {
|
||||
requestPayload = formData
|
||||
} else if (formData) {
|
||||
requestPayload = formData;
|
||||
}
|
||||
|
||||
// Add a timestamp as part of the query string if cache busting is enabled
|
||||
if (options.cacheBust) {
|
||||
location = updateQueryString(location, "t", Date.now())
|
||||
location = updateQueryString(location, "t", Date.now());
|
||||
}
|
||||
|
||||
request.open(requestMethod, location, true)
|
||||
request.timeout = timeout
|
||||
request.setRequestHeader("X-Requested-With", "XMLHttpRequest")
|
||||
request.setRequestHeader("X-PJAX", "true")
|
||||
request.setRequestHeader("X-PJAX-Selectors", JSON.stringify(options.selectors))
|
||||
request.open(requestMethod, location, true);
|
||||
request.timeout = timeout;
|
||||
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
||||
request.setRequestHeader("X-PJAX", "true");
|
||||
request.setRequestHeader(
|
||||
"X-PJAX-Selectors",
|
||||
JSON.stringify(options.selectors)
|
||||
);
|
||||
|
||||
// Send the proper header information for POST forms
|
||||
if (requestPayload && requestMethod === "POST" && !formData) {
|
||||
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
|
||||
request.setRequestHeader(
|
||||
"Content-Type",
|
||||
"application/x-www-form-urlencoded"
|
||||
);
|
||||
}
|
||||
|
||||
request.send(requestPayload)
|
||||
request.send(requestPayload);
|
||||
|
||||
return request
|
||||
}
|
||||
return request;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user