el asunto: hago un json en php q tengo q pasar para q se actualize un grid de datos en javascript. esto lo hago usando cookies pero cuando envio los datos no me actualiza la informacion, no se me actualiza la cookie q envio.
Código PHP:
$date2 = $_POST['date2'];
if (isset($_POST['date2'])){
$date2 = "'".$_POST['date2']."'";
setcookie("date2", time() - 3600);
setcookie("date2",$_POST['date2']);
}
Código:
no se me destruyen las cookies q le digo q se borren.store = new GeoExt.data.FeatureStore({ layer: vecLayer, proxy: new GeoExt.data.ProtocolProxy({ protocol: new OpenLayers.Protocol.HTTP({ url: "consulta3.php?date1="+ReadCookie('date1')+"&date2="+ReadCookie('date2')+"&especies="+encodeURI(ReadCookie('especies')), format: new OpenLayers.Format.GeoJSON() })
otra cosa los datos q envio desde el formulario para hacer la consulta en PHP lo hago desde un script ajax para q no se me recargue la pagina, ¿quizas deberia indicarle algo en este script respecto a la actualizacion de las cookies? como tendria q hacer.
Código:
la linea store.load(); carga la informacion del store q puse mas arriba.<script type="text/javascript"> function enviarDatos(){ var formulario = document.getElementById("formulario"); var datos = new FormData(formulario); probadate1=document.getElementById('date1'); proba_date1=probadate1.value; probadate2=document.getElementById('date2'); proba_date2=probadate2.value; probachooser=document.getElementById('especies'); // completar la seguiente linea para obtener los values seleccionados en "selector" 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(datos){ //funcion para crear las peticiones de XMLHttpResquest // Generalmente sacada de páginas que usan un método para IE6 o anteriores, if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = procesarRespuesta; //Ojo sin parentesis 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(datos); } 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(); } } } </script>
cada vez q ejecuto el formulario me hace bien el POST, pero en el GET me sigue cargando el primero pq no se borran las cookies.