Re: IE6 strange behaviour with fwrite calls
- From: Erwin Moller <Since_humans_read_this_I_am_spammed_too_much@xxxxxxxxxxxxxxxx>
- Date: Wed, 29 Oct 2008 18:47:21 +0100
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
.
- Follow-Ups:
- Re: IE6 strange behaviour with fwrite calls
- From: CiAlZ
- Re: IE6 strange behaviour with fwrite calls
- From: Carlo Chiari
- Re: IE6 strange behaviour with fwrite calls
- References:
- IE6 strange behaviour with fwrite calls
- From: Carlo Chiari
- IE6 strange behaviour with fwrite calls
- Prev by Date: IE6 strange behaviour with fwrite calls
- Next by Date: Re: Manually make a POST request?
- Previous by thread: IE6 strange behaviour with fwrite calls
- Next by thread: Re: IE6 strange behaviour with fwrite calls
- Index(es):