Re: IE6 strange behaviour with fwrite calls
- From: Carlo Chiari <cialzdesk@xxxxxxxxx>
- Date: Wed, 29 Oct 2008 12:36:53 -0700 (PDT)
On Oct 29, 6:47 pm, Erwin Moller
<Since_humans_read_this_I_am_spammed_too_m...@xxxxxxxxxxxxxxxx> wrote:
Carlo Chiari schreef:
Hi devs,
Hi Carlo,
in my application I need to update a simple text file every time the
user checks an item of a radio group.
I use AJAX method to do this stuff.
In the start page I have this code for evely row:
<td><input type="radio" name="CheckMe" onClick='UpdateRecipeID(3);'/></
td>
The UpdateRecipeID() method launches an AJAX request.
function UpdateRecipeID(r_ID)
{
var xmlHttp = getXMLHttp();
var phpUrl;
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
HandleResponse(xmlHttp.responseText);
}
}
phpUrl = "ajax.php?id=" + r_ID;
That is bad.
You will get a cached response back in most circumstances.
Add something random to it to avoid caching:
eg:
phpUrl = "ajax.php?id=" + r_ID + "&sid="+Math.random();
or a timestamp.
xmlHttp.open("GET", phpUrl, true);
xmlHttp.send(null);
}
function HandleResponse(response)
{
document.getElementById('ResponseDiv').innerHTML = response;
}
The php code is very simple: (ajax.php)
<?php
require_once("mylibrary.inc.php");
WriteTextFile($_REQUEST["id"],"bridge.txt");
Using $_REQUEST is bad in my opinion. It only shows you don't know where
the data comes from.
Why not simply use $_GET instead?
echo "Selezionata ricetta: " .$_REQUEST["id"];
?>
(mylibrary.inc.php)
function WriteTextFile($stream, $fname)
{
$handle = fopen($fname, 'w');
if (!$handle ) {
echo "Cannot open file ($fname)";
exit;
}
fwrite($handle, $stream);
fclose($handle);
}
This source code works fine with Safari 3 and Chrome too, but with IE6
works only for the first three times I click a row.
Anyone knows where's the problem?
Yep, the caching problem. ;-)
Good luck fixing it. (Just add the Math.random() thingy to it)
Regards,
Erwin Moller
--
"There are two ways of constructing a software design: One way is to
make it so simple that there are obviously no deficiencies, and the
other way is to make it so complicated that there are no obvious
deficiencies. The first method is far more difficult."
-- C.A.R. Hoare
Thanx Erwin, tomorrow I'll try your precious suggestions. I'm slightly
new to AJAX world!
.
- References:
- IE6 strange behaviour with fwrite calls
- From: Carlo Chiari
- Re: IE6 strange behaviour with fwrite calls
- From: Erwin Moller
- IE6 strange behaviour with fwrite calls
- Prev by Date: Re: Problem:
- Next by Date: Re: xml parsing script dying with "Premature end of script headers" error
- Previous by thread: Re: IE6 strange behaviour with fwrite calls
- Next by thread: Re: IE6 strange behaviour with fwrite calls
- Index(es):
Relevant Pages
|