Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In jQuery's ajax success callback, will textStatus ever not be "success"?

Tags:

In the documentation there is a list of possible values that textStatus might be if the error() callback fires ("timeout", "error", "notmodified" and "parsererror") but nothing specified for the success() event.

Are there any other values besides "success" that could be passed to the success() callback? Is this documented anywhere?

like image 335
Robert Avatar asked Aug 11 '10 18:08

Robert


People also ask

How do I know if AJAX request is successful?

You can check when exactly it returns "success" : // If successful, handle type chaining if ( status >= 200 && status < 300 || status === 304 ) { ... // If not modified if ( status === 304 ) { statusText = "notmodified"; ... // If we have data } else { try { ...

Is AJAX successful deprecated?

Yes, it is deprecated in jQuery 1.8 onwards. You should use . done() and use . fail() to catch the errors.

What is success in AJAX call?

AJAX success is a global event. Global events are triggered on the document to call any handlers who may be listening. The ajaxSuccess event is only called if the request is successful. It is essentially a type function that's called when a request proceeds.

How do I know when AJAX calls are complete?

The ajaxStop() method specifies a function to run when ALL AJAX requests have completed. When an AJAX request completes, jQuery checks if there are any more AJAX requests. The function specified with the ajaxStop() method will run if no other requests are pending.


2 Answers

Success can only be called on success. So the easy answer is no.

Complete will always run, regardless of what how ajax did. So complete should be able to get and values textstatus can return.

On the forum I found textstatus can be any of these values

"timeout" "error" "notmodified" "success" "parsererror" 

http://forum.jquery.com/topic/jquery-ajax-textstatus-documented

like image 93
Forge Avatar answered Oct 22 '22 10:10

Forge


Success and complete are documented at here. You don't really need to worry about what textStatus is passed to the functions, it's all handled automatically. The success function is called when/if the call succeeds, and complete is called at the very end of everything else.

So, as an example from something I'm working on, I chained together three functions that are triggered when you click a section of the page: a div fades out, and when that's done it runs an ajax call. The success function updates the content of the div (while it's faded out), and then the complete function calls fadeIn on the div. So what it does is it fades out, updates, and fades back in with new content.

like image 22
Alex Zylman Avatar answered Oct 22 '22 10:10

Alex Zylman