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

PRoblema enviando datos mediante ajax

Estas en el tema de PRoblema enviando datos mediante ajax en el foro de Frameworks JS en Foros del Web. Hola, he estado probando un script en localhost para enviar datos a un archivo php que este lo escribe en la bd, en localhost no ...
  #1 (permalink)  
Antiguo 20/09/2007, 07:29
 
Fecha de Ingreso: mayo-2005
Mensajes: 51
Antigüedad: 19 años
Puntos: 0
PRoblema enviando datos mediante ajax

Hola, he estado probando un script en localhost para enviar datos a un archivo php que este lo escribe en la bd, en localhost no he tenido ningun problema(appser), pero al subirlo al hosting me da este error:
Cita:
Forbidden
You don't have permission to access /p/registro.php on this server.


Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.37 Server at URL Port 80
Pero he observado que solo se produce cuando hay una gran numero de "caracteres" en el campo texto, cuando no hay mucho lo realiza correctamente. Si alguien me puede decir porque puede ser.

El script :
Código:

function addViajeNuevo(){
  //donde se mostrarб lo resultados
  divResultado = document.getElementById('resultado');
  divResultado.innerHTML= '<img src="anim.gif">';
  //valores de las cajas de texto
  
  //$---> Apartir de aqui aсadir para los demas dat_$
  
  nom=document.nuevo_viaje.nombre.value;
  desc=document.nuevo_viaje.descripcion.value;
  prc=document.nuevo_viaje.precio.value;
  tmp=document.nuevo_viaje.tiempo.value;
  txt=document.nuevo_viaje.texto.value;
  img=document.nuevo_viaje.imagenes.value;
  ofr=document.nuevo_viaje.oferta.value;
  
  //instanciamos el objetoAjax
  
  ajax=objetoAjax();
  //uso del medoto POST
  //archivo que realizarб la operacion
  //registro.php
  ajax.open("POST", "registro.php",true);
  ajax.onreadystatechange=function() {
  if (ajax.readyState==4) {
  //mostrar resultados en esta capa
  divResultado.innerHTML = ajax.responseText
  //llamar a funcion para limpiar los inputs
  LimpiarCampos();
  }
  }

  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  //enviando los valores
  ajax.send("texto="+txt+"&nombre="+nom+"&descripcion="+desc+"&precio="+prc+"&tiempo="+tmp+"&imagenes="+img+"&oferta="+ofr)
}

function LimpiarCampos(){
  document.nuevo_viaje.nombre.value="";
  document.nuevo_viaje.describcion.value="";
  document.nuevo_viaje.tiempo.value="";
  document.nuevo_viaje.text.value="";
  document.nuevo_viaje.nombre.focus();
  }
  
  
  
  
  
  
  
  
  
  
  
function eliminarDato(viajeid){
	//donde se mostrarб el resultado de la eliminacion
	divResultado = document.getElementById('resultado');
	
	
	//usaremos un cuadro de confirmacion	
	var eliminar = confirm("De verdad desea eliminar este dato?")
	if ( eliminar ) {
		//instanciamos el objetoAjax
		ajax=objetoAjax();
		//uso del medotod GET
		//indicamos el archivo que realizarб el proceso de eliminaciуn
		//junto con un valor que representa el id del empleado
		ajax.open("GET", "eliminacion.php?viajeid="+viajeid);
		divResultado.innerHTML= '<img src="anim.gif">';
		ajax.onreadystatechange=function() {
			if (ajax.readyState==4) {
				//mostrar resultados en esta capa
				divResultado.innerHTML = ajax.responseText
			}
		}
		//como hacemos uso del metodo GET
		//colocamos null
		ajax.send(null)
	}
}
Hablando con el SAT del hosting me han dicho esto, pero no se mucho al respecto y no se como arreglarlo.
Cita:
Mirando los logs el error que veo para p/registro.php es el siguiente:

quote:[Tue Sep 18 01:27:26 2007] [error] [client 80.30.6.15] mod_security: Access denied with code 403. Error parsing POST parameters: Error normalising parameter value: Invalid
URL encoding detected: invalid characters used [hostname "URL"] [uri "/p/registro.php"]



Lo que significa que el mod_security detecta que la URL está mal codificada.
gracias y salu2
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 15:10.