Foros del Web » Programando para Internet » Javascript »

Error al enviar formulario

Estas en el tema de Error al enviar formulario en el foro de Javascript en Foros del Web. Buenas tengo un problemon bueno tengo un gestor de contenido básicamente creado para trabajar mediante jquery todo y va bien hasta que tuve que en ...
  #1 (permalink)  
Antiguo 29/02/2012, 06:08
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Error al enviar formulario

Buenas tengo un problemon bueno tengo un gestor de contenido básicamente creado para trabajar mediante jquery todo y va bien hasta que tuve que en pesar ha crear varios campos de textarea que admiten html el problema de enviarlos por el ajax es que hay que codificarlos en application/x-www-form-urlencoded; pero al llegar al servidor salta el error 403 intente por multipart/form-data y nada el caso es que curiosamente si no trabajo con javascript el problema persiste, para que lleguen todas las variables post al servidor tengo que encriptarlas en multipart/form-data, esto ocurre si dentro de los textarea hay código html por ejemplo <ul><li>lista</li></ul> si coloco esto en el textarea ya no funciona ojo esto sin utilizar javascript,

por otro lado también si colocaba como name googlemap en una input type=text y su valor empezaba con http:// también dejaba de funcionar , si podrían indicarme la mejor manera de codificar los valores para enviarlos por método POST mediante ajax se lo agradecería.
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #2 (permalink)  
Antiguo 29/02/2012, 06:46
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: Error al enviar formulario

Al menos yo cuando uso ajax no necesariamente creo un formulario ya que puedes crear los input, recojer sus valores y enviarlos, te dejo las funciones que yo utilizo y por ahora me han resultado de lo mas bien.

Código Javascript:
Ver original
  1. var READY_STATE_UNINITIALIZED = 0;
  2. var READY_STATE_LOADING = 1;
  3. var READY_STATE_LOADED = 2;
  4. var READY_STATE_INTERACTIVE = 3;
  5. var READY_STATE_COMPLETE = 4;
  6. var READY_STATUS = 200;
  7.  
  8. function Xajax() {
  9. var objeto = false;
  10. try {
  11. objeto = new XMLHttpRequest();
  12. }
  13. catch(err1) {
  14.     try {
  15.         objeto = new ActiveXObject("Msxml2.XMLHTTP");
  16.     }
  17.         catch(err2) {
  18.             try {
  19.                 objeto = new ActiveXObject("Microsoft.XMLHTTP");
  20.             }
  21.                 catch(err3) {
  22.                     objeto = false;
  23.                     }
  24.                 }
  25.             }
  26.         return objeto;
  27.     }
  28.  
  29. var ajax = Xajax();
  30.        
  31. function levantaDatos(dato1) {
  32.     if(ajax) {
  33.             ajax.onreadystatechange = recojeRespuesta;
  34.             ajax.open("POST", "miArchivo.php", true);
  35.             ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  36.             ajax.send("nombre="+dato1+"&nocache="+Math.random());
  37.             }
  38.         }
  39.    
  40.     function recojeRespuesta() {
  41.             if(ajax.readyState == READY_STATE_COMPLETE) {
  42.                 if(ajax.status == READY_STATUS) {
  43.                     alert(ajax.responseText);
  44.                     }
  45.                 }
  46.             }

Cualquier cosa me avisas, Saludos
  #3 (permalink)  
Antiguo 29/02/2012, 08:18
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: Error al enviar formulario

gracias djaevi por responder el problema es cuando los valores llevan contenido html
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft

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 02:39.