#4825 closed bug (fixed)
Data returned from ajaxSetup dataFilter is not passed to ajax complete() callbacks
| Reported by: | jbabbitt | Owned by: | |
|---|---|---|---|
| Priority: | low | Milestone: | |
| Component: | ajax | Version: | 1.4.4 |
| Keywords: | Cc: | jaubourg | |
| Blocked by: | Blocking: |
Description
The ajax complete() callbacks are passed xhr, but not the data returned from dataFilter.
As a result, dataFilter will not be applied to data loaded via the .load() function.
Change History (14)
comment:1 Changed 7 years ago by
| Milestone: | 1.3.2 → 1.4.3 |
|---|
comment:2 Changed 7 years ago by
| Status: | new → open |
|---|
comment:4 Changed 7 years ago by
| Keywords: | ajaxrewrite added |
|---|
comment:5 Changed 7 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | open → closed |
comment:6 Changed 7 years ago by
https://github.com/jquery/jquery/commit/5a721cf31b142365954a2d71e860534da4536b16
Forgot the damn # in the comment.
comment:7 Changed 7 years ago by
| Keywords: | ajaxrewrite removed |
|---|---|
| Milestone: | → 1.5 |
| Priority: | minor → low |
| Version: | 1.3.2 → 1.4.4 |
comment:8 Changed 4 years ago by
This bug was never fixed. Or, it may have been fixed only for load but not for Ajax calls at large.
comment:10 Changed 4 years ago by
| Cc: | jaubourg added |
|---|---|
| Keywords: | ajaxSetup dataFilter removed |
| Milestone: | 1.5 |
| Resolution: | fixed |
| Status: | closed → reopened |
@jaubourg can you take a look?
comment:11 Changed 4 years ago by
| Status: | reopened → open |
|---|
In general it's better to create a new ticket than reopen an ancient bug. We need a Trac feature that freezes tickets more than a year old and prevents posts on them.
comment:12 Changed 4 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | open → closed |
You should create a new ticket. Behaviour is consistent with what is documented. Your request is unrelated to ajaxSetup or the actual use-case involved here (title is still very misleading, original request was about applying dataFilter in ajaxSetting in the context of load as was determined with OP iirc).
It is obvious you wish the third parameter to be the success value. It is a feature request and should be in its own ticket for proper discussion. My take on it is that there are enough means to get the filtered data that we do not need to meddle with an already deprecated complete callback. You can call done on the jqXHR within the complete callback for instance.
comment:13 follow-up: 14 Changed 4 years ago by
@jaubourg: I'm perfectly fine with leaving it as-is if the complete callback actually get axed. Is there a targeted milestone release for that yet? It's already hung around much longer than I expected.
comment:14 Changed 4 years ago by
Replying to JamesMGreene:
@jaubourg: I'm perfectly fine with leaving it as-is if the
completecallback actually get axed. Is there a targeted milestone release for that yet? It's already hung around much longer than I expected.
It will probably end up as one of these "deprecated but never removed" antics. complete is used for pretty much anything save for cooking breakfast. All we can do is show people how to handle stuff properly with 2 handlers or using always but the inconsistencies in signatures of the success and error callbacks makes complete so much more compelling in the "real world"(tm).

One solution would be to add settings (s) as an argument to the call to the complete handler in handleComplete.