git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixes #8125. Status is set to 200 for requests with status 0 when location.protocol...
[jquery.git]
/
src
/
ajax
/
xhr.js
diff --git
a/src/ajax/xhr.js
b/src/ajax/xhr.js
index
b820642
..
47cfc6c
100644
(file)
--- a/
src/ajax/xhr.js
+++ b/
src/ajax/xhr.js
@@
-156,12
+156,14
@@
if ( jQuery.support.ajax ) {
statusText = "";
}
statusText = "";
}
- // Filter status for non standard behaviours
+ // Filter status for non standard behaviors
status =
status =
+ // Most browsers return 0 when it should be 200 for local files
// Opera returns 0 when it should be 304
// Webkit returns 0 for failing cross-domain no matter the real status
// Opera returns 0 when it should be 304
// Webkit returns 0 for failing cross-domain no matter the real status
- status === 0 ?
- (
+ !status ?
+ // All: for local files, 0 is a success
+ ( location.protocol === "file:" ? 200 : (
// Webkit, Firefox: filter out faulty cross-domain requests
!s.crossDomain || statusText ?
(
// Webkit, Firefox: filter out faulty cross-domain requests
!s.crossDomain || statusText ?
(
@@
-172,7
+174,7
@@
if ( jQuery.support.ajax ) {
) :
// We assume 302 but could be anything cross-domain related
302
) :
// We assume 302 but could be anything cross-domain related
302
- ) :
+ ) ) :
(
// IE sometimes returns 1223 when it should be 204 (see #1450)
status == 1223 ?
(
// IE sometimes returns 1223 when it should be 204 (see #1450)
status == 1223 ?