Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/10/2011, 12:01
emeotero
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problema al setear cookie

pues como no me actualizaba la cookie, pense en cargarmela primero por si seguia en cache y una vez q la eliminase setearla.
tengo el script javascript q extrae y lee la cookie:
Código:
<script>
function extractCookieValue(val) {
  if ((endOfCookie = document.cookie.indexOf(";", val)) == -1) {
     endOfCookie = document.cookie.length;
  }
  return unescape(document.cookie.substring(val,endOfCookie));
}

function ReadCookie(cookiename) {
  var numOfCookies = document.cookie.length;
  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);
}
</script>
de todos modos hay un punto del q no hable y me acabo de dar cuenta al releer el mensaje. la consulta php recibe los datos de un form q envio por ajax para evitar la recarga de la pagina.
Código:
<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,
// IE 7, FF, Opera, Google Chrome, u otros.
		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>
la otra parte del codigo q puse en el mensaje original pasando las cookies, rellenaria el grid de datos con el Json y ese store de datos se carga con el store.load(); y claro como no setea bien la cookie lo rellena la primera vez y hasta q recargo la pagina no me deja hacer nada mas. si hace el POST de los datos q envio con este script, pero no me hace el GET por culpa del problema de las cookies.