Cleans up statusText handling and simplifies 304 notmodified logic.
This commit is contained in:
parent
97b244312e
commit
b07d43c649
1 changed files with 17 additions and 13 deletions
30
src/ajax.js
30
src/ajax.js
|
@ -365,17 +365,10 @@ jQuery.extend({
|
||||||
// Stored success
|
// Stored success
|
||||||
success,
|
success,
|
||||||
// Stored error
|
// Stored error
|
||||||
error = statusText;
|
error;
|
||||||
|
|
||||||
// If not timeout, force a jQuery-compliant status text
|
|
||||||
if ( statusText != "timeout" ) {
|
|
||||||
statusText = ( status >= 200 && status < 300 ) ?
|
|
||||||
"success" :
|
|
||||||
( status === 304 ? "notmodified" : "error" );
|
|
||||||
}
|
|
||||||
|
|
||||||
// If successful, handle type chaining
|
// If successful, handle type chaining
|
||||||
if ( statusText === "success" || statusText === "notmodified" ) {
|
if ( status >= 200 && status < 300 || status === 304 ) {
|
||||||
|
|
||||||
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
|
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
|
||||||
if ( s.ifModified ) {
|
if ( s.ifModified ) {
|
||||||
|
@ -391,12 +384,20 @@ jQuery.extend({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( s.ifModified && statusText === "notmodified" ) {
|
// If not modified
|
||||||
|
if ( status === 304 ) {
|
||||||
|
|
||||||
success = null;
|
// Set the statusText accordingly
|
||||||
|
statusText = "notmodified";
|
||||||
|
// Mark as a success
|
||||||
isSuccess = 1;
|
isSuccess = 1;
|
||||||
|
|
||||||
|
// If we have data
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
// Set the statusText accordingly
|
||||||
|
statusText = "success";
|
||||||
|
|
||||||
// Chain data conversions and determine the final value
|
// Chain data conversions and determine the final value
|
||||||
// (if an exception is thrown in the process, it'll be notified as an error)
|
// (if an exception is thrown in the process, it'll be notified as an error)
|
||||||
try {
|
try {
|
||||||
|
@ -487,17 +488,20 @@ jQuery.extend({
|
||||||
success = response;
|
success = response;
|
||||||
isSuccess = 1;
|
isSuccess = 1;
|
||||||
|
|
||||||
|
// If an exception was thrown
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
|
|
||||||
|
// We have a parsererror
|
||||||
statusText = "parsererror";
|
statusText = "parsererror";
|
||||||
error = "" + e;
|
error = "" + e;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else { // if not success, mark it as an error
|
// if not success, mark it as an error
|
||||||
|
} else {
|
||||||
|
|
||||||
error = error || statusText;
|
error = statusText = statusText || "error";
|
||||||
|
|
||||||
// Set responseText if needed
|
// Set responseText if needed
|
||||||
if ( response ) {
|
if ( response ) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue