Trigger an error event if the response cannot be parsed.

This commit is contained in:
Behind The Math
2018-02-27 13:29:33 -05:00
parent c9e292af6e
commit b0748a2aa5
2 changed files with 9 additions and 2 deletions

View File

@@ -453,7 +453,7 @@ All events are fired from the _document_, not the link that was clicked.
* `pjax:send` - Fired after the Pjax request begins.
* `pjax:complete` - Fired after the Pjax request finishes.
* `pjax:success` - Fired after the Pjax request succeeds.
* `pjax:error` - Fired after the Pjax request fails.
* `pjax:error` - Fired after the Pjax request fails. The request object will be passed along as `event.options.request`.
`send` and `complete` are a good pair of events to use if you are implementing a loading indicator (eg: [topbar](http://buunguyen.github.io/topbar/))

View File

@@ -5,7 +5,10 @@ var trigger = require("./lib/events/trigger.js")
module.export = function(responseText, request, href) {
// Fail if unable to load HTML via AJAX
if (responseText === false) {
trigger(document, "pjax:complete pjax:error", this.options)
var tempOptions = this.options
tempOptions.request = request
trigger(document, "pjax:complete pjax:error", tempOptions)
return
}
@@ -52,6 +55,10 @@ module.export = function(responseText, request, href) {
this.loadContent(responseText, this.options)
}
catch (e) {
var tempOptions2 = this.options
tempOptions2.request = request
trigger(document, "pjax:error", tempOptions2)
if (!this.options.debug) {
if (console && console.error) {
console.error("Pjax switch fail: ", e)