Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   Parámetros POST con ajax (http://www.forosdelweb.com/f127/parametros-post-con-ajax-571331/)

iPunto 01/04/2008 04:54

Parámetros POST con ajax
 
Tengo un formulario en HTML (con codficación utf-8) en cual invoca el submit via un input llamando a una función javascript.

Esta función javascript llama a un módulo php via ajax para realizar modificaciones en una base de datos (codificada con utf-8).

El problema está al recoger los valores de los parámetros POST en el php (ya sea con $_POST o con array_values) ya que mientras no existan acentos, eñes, símbolo de copyright, etc, se recuperan correctamente. Ahora, en cuanto hay uno de estos símbolos el parámetro queda cortado en el.

Por ejemplo si envio 'Tecnologia' el parámetro lo recoge bien el php. Si envio 'Tecnología' solo recoge 'Tecnolog' en el parámetro.

La variable que uso en el send del ajax con las parámetros los visualiza correctamente (con &acute para los acentos y &ntilde para las ñ).

¿Es problema con el utf-8 o está en otro sitio?.

yoseman 01/04/2008 05:16

Re: Parámetros POST con ajax
 
Has probado a pasar utf8_decode en php

un saludo...

iPunto 01/04/2008 08:55

Re: Parámetros POST con ajax
 
Si, lo he intentado, pero da el mismo resultado.

iPunto 01/04/2008 09:01

Re: Parámetros POST con ajax
 
También he probado con htmlentities, y me muestra el parámetro con formato html, pero justo cortado donde está el & del acento o la ñ.

GatorV 01/04/2008 09:03

Re: Parámetros POST con ajax
 
Trasladado a AJAX

MaBoRaK 01/04/2008 11:19

Re: Parámetros POST con ajax
 
loading.............


Pues mira, debes poner (en el lado javascript)


Código PHP:

var texto_formateado encodeURIComponent('aqui el texto con ñ y aéíó etc etc'); 

de esta forma el parametro que envias sería el texto formateado.

Puedes ver mas aqui: http://tutoriales.maborak.com/ajax/



connection closed.

iPunto 01/04/2008 14:03

Re: Parámetros POST con ajax
 
Era eso, pero a la hora de montar los parámetros en el javascript.

Código:

       
for (var Wi=0;Wi<this.F.length;Wi++) {
          this.ParamPost=this.ParamPost+this.F.elements[Wi].name+"="+ encodeURIComponent(this.F.elements[Wi].value)+"&";
  }

[/PHP]

Gracias.


La zona horaria es GMT -6. Ahora son las 19:01.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.