Use the same options object in handle-response as in send-request

Instead of cloning this.options again in handle-response.js, pass
the options object from send-request.js. This way,
pjax.state.options will also have the request options.
This commit is contained in:
Behind The Math
2018-04-12 18:26:02 -04:00
parent 358b6f6836
commit 59bd0fb595
5 changed files with 19 additions and 14 deletions

View File

@@ -2,13 +2,13 @@ var clone = require("../util/clone.js")
var newUid = require("../uniqueid.js")
var trigger = require("../events/trigger.js")
module.exports = function(responseText, request, href) {
var tempOptions = clone(this.options);
tempOptions.request = request
module.exports = function(responseText, request, href, options) {
options = options || clone(this.options);
options.request = request
// Fail if unable to load HTML via AJAX
if (responseText === false) {
trigger(document, "pjax:complete pjax:error", tempOptions)
trigger(document, "pjax:complete pjax:error", options)
return
}
@@ -49,13 +49,13 @@ module.exports = function(responseText, request, href) {
}
this.state.href = href
this.state.options = clone(this.options)
this.state.options = options
try {
this.loadContent(responseText, this.options)
}
catch (e) {
trigger(document, "pjax:error", tempOptions)
trigger(document, "pjax:error", options)
if (!this.options.debug) {
if (console && console.error) {