Foros del Web » Programando para Internet » Javascript » Frameworks JS »

eliminar cookies

Estas en el tema de eliminar cookies en el foro de Frameworks JS en Foros del Web. Hola, alguno me puede decir como puedo eliminar una cookies sin tener q recargar la ventana del navegador? uso un script ajax para enviar los ...
  #1 (permalink)  
Antiguo 10/10/2011, 08:43
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 12 años, 11 meses
Puntos: 0
eliminar cookies

Hola,
alguno me puede decir como puedo eliminar una cookies sin tener q recargar la ventana del navegador? uso un script ajax para enviar los datos de un formulario a una pagina php donde ejecuto una consulta y me devuelve unos resultados, estoy guardando los resultados en 3 cookies una para cada valor, pero cuando quiero eliminar las cookies para que me visualize los datos (sin recargar la pagina) pasa de mi totalmente hasta que no recargo la pagina. he probado a eliminar las cookies inmediatamente antes de crearla, ya se q no es un metodo muy elegante, pero tampoco funciona.
Código:
$date1 = "'".$_POST['date1']."'";
setcookie("date1", "", time() - 3600);
setcookie("date1",$_POST['date1']);
este es el codigo del script donde meto las cookies y el ajax q ejecuta el form sin recargar la pagina. Insisto en el tema pq no acabo de arrancar y me esta quemando xD.
Código:
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);
}
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.
	/*var xmlhttp;*/
		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();
				
			}
    	}
}
gracias.

Etiquetas: ajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:16.