hola, antes de nada comentar que estoy "intentando" aprender Ajax pero como buen novato :) los comienzos a veces son un poco durillos. El caso, bueno estoy intentando mostar una informacion en un mapa, para lo que envio los datos de un formulario a una consulta en PHP y los transformo en Json con caracteristicas Geograficas (GeoJson), y eso lo meto en un grid en el cual muestro la informacion e interactuo con el mapa. El envio por POST lo hago via AJAX para evitar que se me recargue la pagina. Si esa informacion que tengo en Json la escribo en un fichero ¡no problem! interactuo con ella sin problema, ahora, si esa informacion la paso por URL seteando cookies, aunque efectivamente veo en firebug que pasa la cookie ¡¡no actualiza la informacion del grid!!. script para cookies:

Código Javascript :

function extractCookieValue(val) {
  if ((endOfCookie = document.cookie.indexOf(";", val)) == -1) {
     endOfCookie = document.cookie.length;
  }
  return unescape(document.cookie.substring(val,endOfCookie));
}
//function ReadCookie(cookiename) {
function ReadCookie(name) {
  var numOfCookies = document.cookie.length;
  var nameOfCookie = name + "=";
    //var nameOfCookie = cookiename + "=";
  var cookieLen = nameOfCookie.length;
  var x = 0;
  while (x <= numOfCookies) {
        var y = (x + cookieLen);
        if (document.cookie.substring(x, y) == nameOfCookie)
           return (extractCookieValue(y));
           x = document.cookie.indexOf(" ", x) + 1;
           if (x == 0){
              break;
           }
  }
  return (null);
//function deleteCookie(cookiename){
function deleteCookie(name){
  var cookie_date = new Date ( );  // current date & time
  cookie_date.setTime ( cookie_date.getTime() - 3600 );
  document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}
}

script ajax en el que envio el formulario y cargo la info en el grid:

Código Javascript :

function enviarDatos(){
   var formulario = document.getElementById("formulario");
   probadate1=document.getElementById('date1');
    proba_date1=probadate1.value;
    probadate2=document.getElementById('date2');
    proba_date2=probadate2.value;
   probachooser=document.getElementById('especies');
   var txt='';
   var i;
   var count = 0;
   for (i=0; i<probachooser.options.length; i++) {
       if (probachooser.options[i].selected) {
         if (count==0)
      txt+= "'"+probachooser.options[i].value+"'";
         else
        txt+= "#'"+probachooser.options[i].value+"'";
       }
   count++;
   }
   //hace la comparacion de las dos fechas
   compareDates('datechooser','date1','date2');
    url_proba='date1='+proba_date1+'&date2='+proba_date2+'&especies='+txt;
   xhr(url_proba);
}
var xmlhttp; 
function xhr(formulario){ //funcion para crear las peticiones de XMLHttpResquest
      if (window.XMLHttpRequest)
           {
              xmlhttp=new XMLHttpRequest();
           }
      else
           {
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      xmlhttp.onreadystatechange = procesarRespuesta; 
      xmlhttp.open("POST", "consulta2.php", true); 
      xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      //xmlhttp.setRequestHeader("Content-length", 3);
      //xmlhttp.setRequestHeader("Connection", "close");
      xmlhttp.send(formulario);
      }
   function procesarRespuesta(){
      if(xmlhttp.readyState == 4) {
            if(xmlhttp.status == 200) {
         //recarga el grid al hacer la peticion. de salida esta a false para que no lo muestre.
            store.load();
         }
       }
}

y paso la url de la consulta en un javascript al grid :

Código Javascript :

proxy: new GeoExt.data.ProtocolProxy({
            protocol: new OpenLayers.Protocol.HTTP({
            //url: "data/especie.json",
            method:'GET',
            url: "consulta3.php?date1="+ReadCookie('date1')+"&date2="+ReadCookie('date2')+"&especies="+encodeURI(ReadCookie('especies')),
             format: new OpenLayers.Format.GeoJSON()
            })
      })

como veis en este ultimo script en una parte envio el fichero "especie.json" a la url ¡esto funciona! pero creo que no es operativo si hay muchos usuarios ¿se machacarian la info unos a otros no?. la otra opcion es enviando la consulta3.php?date1="+ReadCookie('date1')... veo en firebug que la cookie la setea ¡¡pero no actualiza la info!! obtengo el GET anterior. Si envio el POST 20/10/2011 y 25/10/2011 y especie 14 en los parametros del GET sale los datos correctos y en la cabecera del GET las cookies, si cambio la fecha por ejemplo 18/20/2011... en los parametros del GET salen los valores anteriores, pero en las cabeceras si que estan las nuevas cookies ¡¡pero no se actualiza la info de la url!! y por consiguiente no se actualiza la info del grid, ahora que si recargo la pagina la ultima busqueda sale... ¿se puede hacer de alguna manera? espero que alguien me pueda ayudar porque no me aclaro... ¡gracias!