tags:

views:

17

answers:

1

I have a $.ajax call with an error callback:

error: function(result){
$('#msg').text(result.statusText).addClass('err');
}

I'd like to change it to a more generic:

error: myError(result)

And then all by itself:

function myError(theError){
$('#msg').text(theError.statusText).addClass('err');
} 

But firebug is telling me "result" is not defined.

Q: Do I call it this way?

error: function(result){
myError(result);
}
+3  A: 

You just want the function name, not any parenthesis or arguments, like this:

error: myError

It'll call that function reference with the same arguments as it would an anonymous function, right now it's trying to actually execute the function (with result as an argument...a variable it can't find) and assign the result as an error handler, you want the function itself to actually run as the error handler.

Nick Craver
Nick,Have you considered writing a book?
cf_PhillipSenn
@cf_PhillipSenn -I'm not that creative :) I just code stuff =P
Nick Craver