Skip to content
Permalink
Browse files

Don't set the context in .load() as it stops the global ajax events f…

…rom firing. Fixes #5922.
  • Loading branch information
jeresig committed Jan 25, 2010
1 parent 6a3d099 commit c639405c4d1ec462b032ccfb571a6c73212ba101
Showing with 28 additions and 3 deletions.
  1. +4 −3 src/ajax.js
  2. +24 −0 test/unit/ajax.js
@@ -45,18 +45,19 @@ jQuery.fn.extend({
}
}

var self = this;

// Request the remote document
jQuery.ajax({
url: url,
type: type,
dataType: "html",
data: params,
context:this,
complete: function( res, status ) {
// If successful, inject the HTML into all the matched elements
if ( status === "success" || status === "notmodified" ) {
// See if a selector was specified
this.html( selector ?
self.html( selector ?
// Create a dummy div to hold the results
jQuery("<div />")
// inject the contents of the document in, removing the scripts
@@ -71,7 +72,7 @@ jQuery.fn.extend({
}

if ( callback ) {
this.each( callback, [res.responseText, status, res] );
self.each( callback, [res.responseText, status, res] );
}
}
});
@@ -70,6 +70,30 @@ test("jQuery.ajax() - error callbacks", function() {
});
});

test(".load()) - 404 error callbacks", function() {
expect( 6 );
stop();

jQuery('#foo').ajaxStart(function(){
ok( true, "ajaxStart" );
}).ajaxStop(function(){
ok( true, "ajaxStop" );
start();
}).ajaxSend(function(){
ok( true, "ajaxSend" );
}).ajaxComplete(function(){
ok( true, "ajaxComplete" );
}).ajaxError(function(){
ok( true, "ajaxError" );
}).ajaxSuccess(function(){
ok( false, "ajaxSuccess" );
});

jQuery("<div/>").load("data/404.html", function(){
ok(true, "complete");
});
});

test("jQuery.ajax() - abort", function() {
expect( 6 );
stop();

0 comments on commit c639405

Please sign in to comment.
You can’t perform that action at this time.