<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Weird XMLHttpRequest error in IE - just one call allowed</title>
	<atom:link href="http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/</link>
	<description>Web development and Internet trends</description>
	<pubDate>Fri, 05 Dec 2008 11:13:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: Brian Giedt</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-465512</link>
		<dc:creator>Brian Giedt</dc:creator>
		<pubDate>Fri, 17 Oct 2008 19:15:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-465512</guid>
		<description>Charles,

I'm having the same problem as you and think I have some idea about what's happening but not the cause.

Your failed request includes a "Authorization: NTLM ..." line and I'll be that the payload of your request never made it to the server.  If you aren't sending anything with the send() method, then you're probably not noticing it.

I believe that the browser is attempting to send a request to authenticate the request before it actually bothers to post the data your requesting.

At least that's what I'm seeing in my code when I look at it with Fiddler.</description>
		<content:encoded><![CDATA[<p>Charles,</p>
<p>I&#8217;m having the same problem as you and think I have some idea about what&#8217;s happening but not the cause.</p>
<p>Your failed request includes a &#8220;Authorization: NTLM &#8230;&#8221; line and I&#8217;ll be that the payload of your request never made it to the server.  If you aren&#8217;t sending anything with the send() method, then you&#8217;re probably not noticing it.</p>
<p>I believe that the browser is attempting to send a request to authenticate the request before it actually bothers to post the data your requesting.</p>
<p>At least that&#8217;s what I&#8217;m seeing in my code when I look at it with Fiddler.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Chen</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-310318</link>
		<dc:creator>Charles Chen</dc:creator>
		<pubDate>Fri, 20 Jun 2008 20:35:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-310318</guid>
		<description>I'm experiencing this issue as well with IE7.  I tried both prototype and jQuery in an attempt to see if it was isolated to prototype.

Still haven't figured this one out yet and it's quite puzzling (especially since Microsoft's AJAX libraries with ASP.NET AJAX work fine...).

The odd thing is that it all works fine if I'm running Fiddler (which kind of makes me wonder whether it's a caching issue).  As soon as I shut off Fiddler, I get 400/"Bad Request" errors.

In order to inspect the HTTP request, I had to use WireShark on the server (since Fiddler on the client was causing it to work for every request).  It turns out that the requests are drastically different on successful attempts and failed attempts.  Notably, even though the requests are identical, the content length is always 0 on failed requests.

Here is a failed request:

&lt;code&gt;
POST /FirstPoint.Common.Services.UserDriven/UserDrivenService/GetRoutes HTTP/1.1
Accept: text/javascript, text/html, application/xml, text/xml, */*
Accept-Language: en-us
x-prototype-version: 1.6.0.2
Referer: http://zorch6:2345/_layouts/FirstPointUserDrivenRoutes/Default.aspx
x-requested-with: XMLHttpRequest
Content-Type: application/json; charset=UTF-8
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; MS-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Host: zorch6:2345
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: MSOWebPartPage_AnonymousAccessCookie=2345; WSS_KeepSessionAuthenticated=2345; previousLoggedInAs=; loginAsDifferentAttemptCount=
Authorization: NTLM TlRMTVNTUAABAAAAB7IIogkACQA0AAAADAAMACgAAAAFAs4OAAAAD0NIQVJMRVMtUVVBRFdPUktHUk9VUA==
&lt;/code&gt;
Here is a successful request:
&lt;code&gt;
POST /FirstPoint.Common.Services.UserDriven/UserDrivenService/GetRoutes HTTP/1.1
Accept: text/javascript, text/html, application/xml, text/xml, */*
Accept-Language: en-us
x-prototype-version: 1.6.0.2
Referer: http://zorch6:2345/_layouts/FirstPointUserDrivenRoutes/Default.aspx
x-requested-with: XMLHttpRequest
Content-Type: application/json; charset=UTF-8
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; MS-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Host: zorch6:2345
Content-Length: 16
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: MSOWebPartPage_AnonymousAccessCookie=2345; WSS_KeepSessionAuthenticated=2345; previousLoggedInAs=; loginAsDifferentAttemptCount=
&lt;/code&gt;
And here is a request from FF (in which the AJAX request works flawlessly):
&lt;code&gt;
POST /FirstPoint.Common.Services.UserDriven/UserDrivenService/GetRoutes HTTP/1.1
Accept: text/javascript, text/html, application/xml, text/xml, */*
Accept-Language: en-us
x-prototype-version: 1.6.0.2
Referer: http://zorch6:2345/_layouts/FirstPointUserDrivenRoutes/Default.aspx
x-requested-with: XMLHttpRequest
Content-Type: application/json; charset=UTF-8
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; MS-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Host: zorch6:2345
Content-Length: 16
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: MSOWebPartPage_AnonymousAccessCookie=2345; WSS_KeepSessionAuthenticated=2345; previousLoggedInAs=; loginAsDifferentAttemptCount=
&lt;/code&gt;

Prototype has the correct ordering of calls to XHR to initiate the request, so I'm baffled by what could be causing this issue.

Any thoughts would be appreciated.

- Chuck</description>
		<content:encoded><![CDATA[<p>I&#8217;m experiencing this issue as well with IE7.  I tried both prototype and jQuery in an attempt to see if it was isolated to prototype.</p>
<p>Still haven&#8217;t figured this one out yet and it&#8217;s quite puzzling (especially since Microsoft&#8217;s <acronym title="Asynchronous Javascript and XML">AJAX</acronym> libraries with ASP.NET <acronym title="Asynchronous Javascript and XML">AJAX</acronym> work fine&#8230;).</p>
<p>The odd thing is that it all works fine if I&#8217;m running Fiddler (which kind of makes me wonder whether it&#8217;s a caching issue).  As soon as I shut off Fiddler, I get 400/&#8221;Bad Request&#8221; errors.</p>
<p>In order to inspect the <acronym title="HyperText Transfer Protocol">HTTP</acronym> request, I had to use WireShark on the server (since Fiddler on the client was causing it to work for every request).  It turns out that the requests are drastically different on successful attempts and failed attempts.  Notably, even though the requests are identical, the content length is always 0 on failed requests.</p>
<p>Here is a failed request:</p>
<p><code><br />
POST /FirstPoint.Common.Services.UserDriven/UserDrivenService/GetRoutes <acronym title="HyperText Transfer Protocol">HTTP</acronym>/1.1<br />
Accept: text/javascript, text/html, application/xml, text/xml, */*<br />
Accept-Language: en-us<br />
x-prototype-version: 1.6.0.2<br />
Referer: <a href="http://zorch6:2345/_layouts/FirstPointUserDrivenRoutes/Default.aspx" rel="nofollow">http://zorch6:2345/_layouts/FirstPointUserDrivenRoutes/Default.aspx</a><br />
x-requested-with: XMLHttpRequest<br />
Content-Type: application/json; charset=UTF-8<br />
UA-CPU: x86<br />
Accept-Encoding: gzip, deflate<br />
User-Agent: Mozilla/4.0 (compatible; <acronym title="Microsoft Internet Explorer">MSIE</acronym> 7.0; Windows NT 5.2; WOW64; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; <acronym title="Microsoft">MS</acronym>-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)<br />
Host: zorch6:2345<br />
Content-Length: 0<br />
Connection: Keep-Alive<br />
Cache-Control: no-cache<br />
Cookie: MSOWebPartPage_AnonymousAccessCookie=2345; WSS_KeepSessionAuthenticated=2345; previousLoggedInAs=; loginAsDifferentAttemptCount=<br />
Authorization: NTLM TlRMTVNTUAABAAAAB7IIogkACQA0AAAADAAMACgAAAAFAs4OAAAAD0NIQVJMRVMtUVVBRFdPUktHUk9VUA==<br />
</code><br />
Here is a successful request:<br />
<code><br />
POST /FirstPoint.Common.Services.UserDriven/UserDrivenService/GetRoutes <acronym title="HyperText Transfer Protocol">HTTP</acronym>/1.1<br />
Accept: text/javascript, text/html, application/xml, text/xml, */*<br />
Accept-Language: en-us<br />
x-prototype-version: 1.6.0.2<br />
Referer: <a href="http://zorch6:2345/_layouts/FirstPointUserDrivenRoutes/Default.aspx" rel="nofollow">http://zorch6:2345/_layouts/FirstPointUserDrivenRoutes/Default.aspx</a><br />
x-requested-with: XMLHttpRequest<br />
Content-Type: application/json; charset=UTF-8<br />
UA-CPU: x86<br />
Accept-Encoding: gzip, deflate<br />
User-Agent: Mozilla/4.0 (compatible; <acronym title="Microsoft Internet Explorer">MSIE</acronym> 7.0; Windows NT 5.2; WOW64; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; <acronym title="Microsoft">MS</acronym>-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)<br />
Host: zorch6:2345<br />
Content-Length: 16<br />
Proxy-Connection: Keep-Alive<br />
Pragma: no-cache<br />
Cookie: MSOWebPartPage_AnonymousAccessCookie=2345; WSS_KeepSessionAuthenticated=2345; previousLoggedInAs=; loginAsDifferentAttemptCount=<br />
</code><br />
And here is a request from FF (in which the <acronym title="Asynchronous Javascript and XML">AJAX</acronym> request works flawlessly):<br />
<code><br />
POST /FirstPoint.Common.Services.UserDriven/UserDrivenService/GetRoutes <acronym title="HyperText Transfer Protocol">HTTP</acronym>/1.1<br />
Accept: text/javascript, text/html, application/xml, text/xml, */*<br />
Accept-Language: en-us<br />
x-prototype-version: 1.6.0.2<br />
Referer: <a href="http://zorch6:2345/_layouts/FirstPointUserDrivenRoutes/Default.aspx" rel="nofollow">http://zorch6:2345/_layouts/FirstPointUserDrivenRoutes/Default.aspx</a><br />
x-requested-with: XMLHttpRequest<br />
Content-Type: application/json; charset=UTF-8<br />
UA-CPU: x86<br />
Accept-Encoding: gzip, deflate<br />
User-Agent: Mozilla/4.0 (compatible; <acronym title="Microsoft Internet Explorer">MSIE</acronym> 7.0; Windows NT 5.2; WOW64; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; <acronym title="Microsoft">MS</acronym>-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)<br />
Host: zorch6:2345<br />
Content-Length: 16<br />
Proxy-Connection: Keep-Alive<br />
Pragma: no-cache<br />
Cookie: MSOWebPartPage_AnonymousAccessCookie=2345; WSS_KeepSessionAuthenticated=2345; previousLoggedInAs=; loginAsDifferentAttemptCount=<br />
</code></p>
<p>Prototype has the correct ordering of calls to XHR to initiate the request, so I&#8217;m baffled by what could be causing this issue.</p>
<p>Any thoughts would be appreciated.</p>
<p>- Chuck</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-163763</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Mon, 17 Dec 2007 09:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-163763</guid>
		<description>Nik,

The reason might that you try to run files iles locally, which won't work in Internet Explorer. Makes sure they're on a server and things should work fine for you (I hope).</description>
		<content:encoded><![CDATA[<p>Nik,</p>
<p>The reason might that you try to run files iles locally, which won&#8217;t work in Internet Explorer. Makes sure they&#8217;re on a server and things should work fine for you (I hope).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nik</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-162523</link>
		<dc:creator>Nik</dc:creator>
		<pubDate>Sat, 15 Dec 2007 08:13:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-162523</guid>
		<description>I have tried everything that you guys have mentioned above ... but am still getting "permission Denied" error beyond the first XHR Call 
:(</description>
		<content:encoded><![CDATA[<p>I have tried everything that you guys have mentioned above &#8230; but am still getting &#8220;permission Denied&#8221; error beyond the first XHR Call<br />
 <img src='http://www.robertnyman.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-121935</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Tue, 16 Oct 2007 09:56:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-121935</guid>
		<description>Gurdi,

I'm glad it helped!</description>
		<content:encoded><![CDATA[<p>Gurdi,</p>
<p>I&#8217;m glad it helped!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gurdi</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-121729</link>
		<dc:creator>Gurdi</dc:creator>
		<pubDate>Mon, 15 Oct 2007 18:21:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-121729</guid>
		<description>Thanks Ash and Dale! Thanks Robert!

I had the same problem, IE7 allowed only one request and then XHR "died". Solution really was to set XHR.onreadystatechange after calling XHR.open();

Cheers!</description>
		<content:encoded><![CDATA[<p>Thanks Ash and Dale! Thanks Robert!</p>
<p>I had the same problem, IE7 allowed only one request and then XHR &#8220;died&#8221;. Solution really was to set XHR.onreadystatechange after calling XHR.open();</p>
<p>Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-114026</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Tue, 02 Oct 2007 20:37:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-114026</guid>
		<description>LongStone,

At the end, it was the order of the code that was the culprit.</description>
		<content:encoded><![CDATA[<p>LongStone,</p>
<p>At the end, it was the order of the code that was the culprit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LongStone</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-114013</link>
		<dc:creator>LongStone</dc:creator>
		<pubDate>Tue, 02 Oct 2007 19:49:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-114013</guid>
		<description>Seems like the IE cache issue @ first glance.
It will cache EVERYTHING in the GET scope, setting timeouts/headers etc doesn't matter.

I just set the "ID" of may AJAX request (I'm using conio which still uses the initial JSON-RPC spec) to a random number (could append to ID if you're actually using it for something)</description>
		<content:encoded><![CDATA[<p>Seems like the <acronym title="Internet Explorer">IE</acronym> cache issue @ first glance.<br />
It will cache EVERYTHING in the GET scope, setting timeouts/headers etc doesn&#8217;t matter.</p>
<p>I just set the &#8220;ID&#8221; of may <acronym title="Asynchronous Javascript and XML">AJAX</acronym> request (I&#8217;m using conio which still uses the initial JSON-<acronym title="Remote Procedure Call">RPC</acronym> spec) to a random number (could append to ID if you&#8217;re actually using it for something)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: royc</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-95581</link>
		<dc:creator>royc</dc:creator>
		<pubDate>Tue, 28 Aug 2007 10:24:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-95581</guid>
		<description>i think the we dont need such complication if the a slight change is made:

getTheContent()
{
createXMLHttpRequest();
blah..
blah..
blah..
}</description>
		<content:encoded><![CDATA[<p>i think the we dont need such complication if the a slight change is made:</p>
<p>getTheContent()<br />
{<br />
createXMLHttpRequest();<br />
blah..<br />
blah..<br />
blah..<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-85301</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Fri, 27 Jul 2007 12:05:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-85301</guid>
		<description>John,

I'm glad it helped!</description>
		<content:encoded><![CDATA[<p>John,</p>
<p>I&#8217;m glad it helped!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Himmelman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-85300</link>
		<dc:creator>John Himmelman</dc:creator>
		<pubDate>Fri, 27 Jul 2007 12:03:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-85300</guid>
		<description>Thanks! This blog entry saved me a good hour of debugging! :)</description>
		<content:encoded><![CDATA[<p>Thanks! This blog entry saved me a good hour of debugging! <img src='http://www.robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-48286</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Mon, 09 Apr 2007 20:42:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-48286</guid>
		<description>Nick,

Hmm, interesting. When it comes to Firefox and the &lt;code&gt;abort&lt;/code&gt; method (a problem I've been facing as today, actually), the approach and description by Peter-Paul Koch described in &lt;a href="http://www.quirksmode.org/blog/archives/2005/09/xmlhttp_notes_a_1.html" rel="nofollow"&gt;XMLHTTP notes: abort() and Mozilla bug&lt;/a&gt; solves it. :-)</description>
		<content:encoded><![CDATA[<p>Nick,</p>
<p>Hmm, interesting. When it comes to Firefox and the <code>abort</code> method (a problem I&#8217;ve been facing as today, actually), the approach and description by Peter-Paul Koch described in <a href="http://www.quirksmode.org/blog/archives/2005/09/xmlhttp_notes_a_1.html" rel="nofollow">XMLHTTP notes: abort() and Mozilla bug</a> solves it. <img src='http://www.robertnyman.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Fitzsimons</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-48256</link>
		<dc:creator>Nick Fitzsimons</dc:creator>
		<pubDate>Mon, 09 Apr 2007 17:19:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-48256</guid>
		<description>Robert,
The W3C Draft Spec for the &lt;code&gt;open()&lt;/code&gt; method ofXMLHttpRequest &lt;a href="http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-members" rel="nofollow"&gt;states that&lt;/a&gt;:

&lt;blockquote cite="http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-members"&gt;

Invoking this method must initialize the object by remembering the method, url, async (defaulting to true if omitted), user (defaulting to null if omitted), and password (defaulting to null if omitted) arguments, setting the state to open, resetting the responseText, responseXML, status, and statusText attributes to their initial values, and resetting the list of request headers.

In addition, when the state is not uninitialized, all members of the object with the exception of onreadystate must be set to their initial values and &lt;strong&gt;user agents must behave as if abort() was invoked&lt;/strong&gt;.
&lt;/blockquote&gt;

My rough and ready tests indicate that this isn't necessarily how things work in the wild though... Firefox in particular seems to get a little upset if &lt;code&gt;abort()&lt;/code&gt; isn't invoked, but gets upset a different way if it is :-(</description>
		<content:encoded><![CDATA[<p>Robert,<br />
The <acronym title="World Wide Web Consortium">W3C</acronym> Draft Spec for the <code>open()</code> method ofXMLHttpRequest <a href="http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-members" rel="nofollow">states that</a>:</p>
<blockquote cite="http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-members">
<p>Invoking this method must initialize the object by remembering the method, <acronym title="Uniform Resource Locator">URL</acronym>, async (defaulting to true if omitted), user (defaulting to null if omitted), and password (defaulting to null if omitted) arguments, setting the state to open, resetting the responseText, responseXML, status, and statusText attributes to their initial values, and resetting the list of request headers.</p>
<p>In addition, when the state is not uninitialized, all members of the object with the exception of onreadystate must be set to their initial values and <strong>user agents must behave as if abort() was invoked</strong>.
</p></blockquote>
<p>My rough and ready tests indicate that this isn&#8217;t necessarily how things work in the wild though&#8230; Firefox in particular seems to get a little upset if <code>abort()</code> isn&#8217;t invoked, but gets upset a different way if it is <img src='http://www.robertnyman.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47818</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Sat, 07 Apr 2007 20:29:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47818</guid>
		<description>Nick,

Thanks for the info! However, the &lt;code&gt;abort&lt;/code&gt; method should still be important for other web browsers, right? To stop the current connection and start a new one.</description>
		<content:encoded><![CDATA[<p>Nick,</p>
<p>Thanks for the info! However, the <code>abort</code> method should still be important for other web browsers, right? To stop the current connection and start a new one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Fitzsimons</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47728</link>
		<dc:creator>Nick Fitzsimons</dc:creator>
		<pubDate>Sat, 07 Apr 2007 14:15:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47728</guid>
		<description>It's definitely the fact that you assign the &lt;code&gt;onreadystatechange&lt;/code&gt; handler before the &lt;code&gt;open&lt;/code&gt; method invocation. This was &lt;a href="http://blogs.msdn.com/ie/archive/2006/06/08/619507.aspx" rel="nofollow"&gt;mentioned a while ago&lt;/a&gt; on the IE Team's blog:

&lt;blockquote&gt;
Xmlhttp.open has a â€œresetâ€ semantic so the second open() call on the same object will abort the previous connection, disconnect previous event handler, and reset the object.
&lt;/blockquote&gt;

(This means that you don't need to invoke the &lt;code&gt;abort&lt;/code&gt; method, either.)</description>
		<content:encoded><![CDATA[<p>It&#8217;s definitely the fact that you assign the <code>onreadystatechange</code> handler before the <code>open</code> method invocation. This was <a href="http://blogs.msdn.com/ie/archive/2006/06/08/619507.aspx" rel="nofollow">mentioned a while ago</a> on the <acronym title="Internet Explorer">IE</acronym> Team&#8217;s blog:</p>
<blockquote><p>
Xmlhttp.open has a â€œresetâ€ semantic so the second open() call on the same object will abort the previous connection, disconnect previous event handler, and reset the object.
</p></blockquote>
<p>(This means that you don&#8217;t need to invoke the <code>abort</code> method, either.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47279</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Thu, 05 Apr 2007 19:04:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47279</guid>
		<description>Ash,

Very good points! Thank you for contributing!</description>
		<content:encoded><![CDATA[<p>Ash,</p>
<p>Very good points! Thank you for contributing!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ash Searle</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47243</link>
		<dc:creator>Ash Searle</dc:creator>
		<pubDate>Thu, 05 Apr 2007 15:48:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47243</guid>
		<description>Remy / Robert,
If you find IE's using cached XHR responses, you've got a couple of things to looks at before resorting to brute-force timestamps:
1) Should you be using &lt;code&gt;"POST"&lt;/code&gt; instead of &lt;code&gt;"GET"&lt;/code&gt;? (does the XHR request cause a permanent change on the server?  If so, you should be using &lt;code&gt;"POST"&lt;/code&gt; anyway.)
2) Is the server setting appropriate &lt;code&gt;Expires&lt;/code&gt; and &lt;code&gt;Cache-Control&lt;/code&gt; headers on the XHR response?</description>
		<content:encoded><![CDATA[<p>Remy / Robert,<br />
If you find <acronym title="Internet Explorer">IE</acronym>&#8217;s using cached XHR responses, you&#8217;ve got a couple of things to looks at before resorting to brute-force timestamps:<br />
1) Should you be using <code>"POST"</code> instead of <code>"GET"</code>? (does the XHR request cause a permanent change on the server?  If so, you should be using <code>"POST"</code> anyway.)<br />
2) Is the server setting appropriate <code>Expires</code> and <code>Cache-Control</code> headers on the XHR response?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47207</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Thu, 05 Apr 2007 12:43:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47207</guid>
		<description>Remy,

Interesting approach. If the problem persists, it's definitely something to try.</description>
		<content:encoded><![CDATA[<p>Remy,</p>
<p>Interesting approach. If the problem persists, it&#8217;s definitely something to try.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Remy Sharp</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47148</link>
		<dc:creator>Remy Sharp</dc:creator>
		<pubDate>Thu, 05 Apr 2007 08:49:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-47148</guid>
		<description>Hi - have you tried cache busting?  I was building a "live price" system and found that IE would show the price changes once and then the requests wouldn't continue.  

I changed the URL and appended &lt;code&gt;Math.random()&lt;/code&gt; and it fixed the problem outright.</description>
		<content:encoded><![CDATA[<p>Hi - have you tried cache busting?  I was building a &#8220;live price&#8221; system and found that <acronym title="Internet Explorer">IE</acronym> would show the price changes once and then the requests wouldn&#8217;t continue.  </p>
<p>I changed the <acronym title="Uniform Resource Locator">URL</acronym> and appended <code>Math.random()</code> and it fixed the problem outright.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-46966</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Wed, 04 Apr 2007 14:43:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/#comment-46966</guid>
		<description>myf,

Ha ha! :-D
Actually, it's quite interesting. The pre-formatted source code is indeed indented with tabs, but when saving/publishing a post with WordPress, it replaces the tabs with spaces.

Man, that is a hawk eye thing to notice something like that!</description>
		<content:encoded><![CDATA[<p>myf,</p>
<p>Ha ha! <img src='http://www.robertnyman.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
Actually, it&#8217;s quite interesting. The pre-formatted source code is indeed indented with tabs, but when saving/publishing a post with WordPress, it replaces the tabs with spaces.</p>
<p>Man, that is a hawk eye thing to notice something like that!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
