mozilla

Compare Revisions

Getting Started

Change Revisions

Revision 48811:

Revision 48811 by Alexis wilke on

Revision 48812:

Revision 48812 by cal0064 on

Title:
Getting Started
Getting Started
Slug:
AJAX/Getting_Started
AJAX/Getting_Started
Tags:
AJAX, NeedsTechnicalReview, XMLHttpRequest
AJAX, NeedsTechnicalReview, XMLHttpRequest
Content:

Revision 48811
Revision 48812
n163&lt;script type="text/javascript" language="javascript"&gt;n163<strong>&lt;script type="text/javascript" language="javascript"&g
 >t;</strong>
n230      <b>Note</b>: The line <code>httpRequest.overrideMimeType('tn230      <strong>Note</strong>: The line <code>httpRequest.overrideM
>ext/xml');</code> above will cause JavaScript Console errors in F>imeType('text/xml');</code> above will cause JavaScript Console e
>irefox 1.5 or later, as documented in {{ Bug("311724") }} if the >rrors in Firefox 1.5 or later, as documented in {{ Bug("311724") 
>page retrieve by XMLHttpRequest is not valid XML (e.g., if it is >}} if the page retrieve by XMLHttpRequest is not valid XML (e.g.,
>plain text). This is actually correct behavior; this article will> if it is plain text). This is actually correct behavior; this ar
> be revised soon to address this change.>ticle will be revised soon to address this change.
231    </p>
232    <p>231    </p>
232    <p>
233      <b>Note 2</b>: if you are sending a request to a piece of c233      <strong>Note 2</strong>: if you are sending a request to a 
>ode that will return XML, rather than to a static XML file, you m>piece of code that will return XML, rather than to a static XML f
>ust set some response headers if your page is to work in Internet>ile, you must set some response headers if your page is to work i
> Explorer in addition to Mozilla. If you do not set header <code>>n Internet Explorer in addition to Mozilla. If you do not set hea
>Content-Type: application/xml</code>, IE will throw a JavaScript >der <code>Content-Type: application/xml</code>, IE will throw a J
>error, 'Object Expected', after the line where you try to access >avaScript error, 'Object Expected', after the line where you try 
>an XML element. If you do not set header <code>Cache-Control: no->to access an XML element. If you do not set header <code>Cache-Co
>cache</code> the browser will cache the response and never re-sub>ntrol: no-cache</code> the browser will cache the response and ne
>mit the request, making debugging "challenging.">ver re-submit the request, making debugging "challenging."
234    </p>
235    <p>234    </p>
236      <b>Note 3</b>: if the <code>httpRequest</code> variable is 
>used globally, competing functions calling <code>makeRequest()</c 
>ode> may overwrite each other, causing a race condition. Declarin 
>g the <code>httpRequest variable</code> local to the function and 
> passing it to the <code>alertContent()</code> function prevents  
>the race condition. 
237    </p>235    <p>
236      <strong>Note 3</strong>: if the <code>httpRequest</code> va
 >riable is used globally, competing functions calling <code>makeRe
 >quest()</code> may overwrite each other, causing a race condition
 >. Declaring the <code>httpRequest variable</code> local to the fu
 >nction and passing it to the <code>alertContent()</code> function
 > prevents the race condition.
238    <p>237    </p>
238    <p>
239      <b>Note 4</b>: To register the callback function <code>onre239      <strong>Note 4</strong>: To register the callback function 
>adystatechange</code>, you cannot have any arguments. That's why ><code>onreadystatechange</code>, you cannot have any arguments. T
>the following code does not work:>hat's why the following code does not work:
t256      <b>Note 5</b>: In the event of a communication error (such t256      <strong>Note 5</strong>: In the event of a communication er
>as the webserver going down), an exception will be thrown in the >ror (such as the webserver going down), an exception will be thro
>onreadystatechange method when attempting to access the .status v>wn in the onreadystatechange method when attempting to access the
>ariable. Make sure that you wrap your if...then statement in a tr> .status variable. Make sure that you wrap your if...then stateme
>y...catch. (See: {{ Bug("238559") }}).>nt in a try...catch. (See: {{ Bug("238559") }}).

Back to History