aboutsummaryrefslogtreecommitdiffstats
path: root/src/ajax
diff options
context:
space:
mode:
authorjaubourg <j@ubourg.net>2011-02-01 17:22:01 +0100
committerjaubourg <j@ubourg.net>2011-02-01 17:22:01 +0100
commitcb85da7b62e74e7339ed652ade209aaffbd0c15b (patch)
tree9587906307841aa77b79b172082e7b9692496651 /src/ajax
parentcb49b4a1b648dea8ce5b1e5dbb2ab5432a84cb63 (diff)
downloadjquery-cb85da7b62e74e7339ed652ade209aaffbd0c15b.tar.gz
jquery-cb85da7b62e74e7339ed652ade209aaffbd0c15b.zip
Fixes #8125. Status is set to 200 for requests with status 0 when location.protocol if "file:". Added test/localfile.html to control it works.
Diffstat (limited to 'src/ajax')
-rw-r--r--src/ajax/xhr.js10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/ajax/xhr.js b/src/ajax/xhr.js
index b82064239..47cfc6c37 100644
--- a/src/ajax/xhr.js
+++ b/src/ajax/xhr.js
@@ -156,12 +156,14 @@ if ( jQuery.support.ajax ) {
statusText = "";
}
- // Filter status for non standard behaviours
+ // Filter status for non standard behaviors
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
- 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 ?
(
@@ -172,7 +174,7 @@ if ( jQuery.support.ajax ) {
) :
// We assume 302 but could be anything cross-domain related
302
- ) :
+ ) ) :
(
// IE sometimes returns 1223 when it should be 204 (see #1450)
status == 1223 ?