Jonas said
I guess IE doesn't have an abort event on the XHR object (is this
correct?) so the relation between ontimeout and onabort is undefined as
far as the IE implementation goes.
Correct. We do have abort and timeout, and adding onabort in the future IE
release will have to be considered so we should define the relationship. As you
mentioned, a possible good definition of timeouts is that a 'timeout' event
should fire (which will trigger ontimeout) and then abort() should be called
which will result in an 'abort' even (which will trigger onabort).
-Original Message-
From: Jonas Sicking [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 11, 2008 8:32 PM
To: Sunava Dutta
Cc: Anne van Kesteren; WebApps WG; Gideon Cohn; Zhenbin Xu; IE8 Core
AJAX SWAT Team
Subject: Re: [xmlhttprequest2] timeout and JSON
Sunava Dutta wrote:
I absolutely agree that it would rock if we could use
the MS implementation.
Thanks Jonas. As always, appreciated.
Answers to your question
What happens if there is a timeout in that state?
1) .readystate is set to 0
.status is set to 0
.responseXML is set to null
.responseText is set to
2) All properties are left as is.
3) Something else (Profit?)
Essentially, timeout has the effect that is similar to 1). Infact,
design wise is intended to have the same effect although a few
superficial differences exist.
What 1) seems to ask for is resetting the object, which is what IE8
does. Readystate is set to 0, there are a few differences in IE's (8
and legacy) support for the existing XHR syntax, and those are
reflected in the values of the properties when they are accessed in
readystate 0 and corresponding exceptions thrown. Any changes to a
future release of IE to bring those inline with the XHR spec would
remedy the differences.
These are:
When ontimeout fires:
• Getting responseText throws an exception: “The data
necessary to complete this operation is not yet available”
• Getting responseXML throws an exception: “Unspecified
error.”
• Getting status throws an exception: “Unspecified error.”
Ah, so it sounds like timing out behaves very similarly to abort()
being
called? Does onreadystatechange fire since readystate changes to 0? And
does this happen before or after ontimeout is fired?
I guess IE doesn't have an abort event on the XHR object (is this
correct?) so the relation between ontimeout and onabort is undefined as
far as the IE implementation goes.
/ Jonas