Foros del Web » Programando para Internet » Javascript »

Ajax.status = 403 la URL existe. Problema de reconocimiento de variable??

Estas en el tema de Ajax.status = 403 la URL existe. Problema de reconocimiento de variable?? en el foro de Javascript en Foros del Web. Hola, Tengo un fallo un tanto curioso. Me da un ajax.status = 403 como no reconociendo la página que le paso al hacer: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 18/12/2011, 11:39
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Ajax.status = 403 la URL existe. Problema de reconocimiento de variable??

Hola,

Tengo un fallo un tanto curioso.
Me da un ajax.status = 403 como no reconociendo la página que le paso al hacer:

Código Javascript:
Ver original
  1. ajax.open("GET", url);

Solamente me falla cuando creo la URL a través de una variable (que he comprobado que tiene el valor correcto al hacer un alert(p))

Hago esto:

Código Javascript:
Ver original
  1. var p = getP(num); 
  2.     url ='file.php?u='+p;
  3.     ajax.open("GET", url);

Y me da fallo.
Supongamos que al hacer el alert(p) obtengo esto: "http://miweb.com/folder/"

Pues muy bien, si pongo esto así si que me fuciona:
Código Javascript:
Ver original
  1. var p = getP(num); 
  2.     url ='file.php?u=http://miweb.com/folder/';
  3.     ajax.open("GET", url);

¿Qué sentido tiene cuando la variable p he comprobado al hacer el alert que tiene este valor:
http://miweb.com/folder/

¿por que si uso una variable para crear la URL no me funciona y si lo hago a mano si?

Un saludo y gracias.
  #2 (permalink)  
Antiguo 18/12/2011, 12:04
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Ajax.status = 403 la URL existe. Problema de reconocimiento de variable??

buenas,
intenta pasando el valor, no la variable url, por encodeURIComponent y el resultado de esto lo concatenas con la url.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 18/12/2011, 15:53
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Ajax.status = 403 la URL existe. Problema de reconocimiento de variable??

¿Podrías especificar un poco más zerokilled?
No acabo de entender que quieres decir.

Un saludo.
  #4 (permalink)  
Antiguo 18/12/2011, 16:03
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Ajax.status = 403 la URL existe. Problema de reconocimiento de variable??

quizas sabrás, algunos caracteres en la URL son especiales. entonces, encodeURIComponent devuelve un string codificado en formato URL. lo que tienes que hacer es pasar la variable por dicha función. encodeURIComponent(p). quizás lo conozca mejor por la función escape. más o menos hace el mismo trabajo, solo que escape esta deprecado. el resultado lo concatenas a la variable url.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 19/12/2011, 03:55
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Ajax.status = 403 la URL existe. Problema de reconocimiento de variable??

Sigue sin funcionarme.

He probado eso de este modo:

Código Javascript:
Ver original
  1. var p = md5(coded);
  2.     url = 'http://miweb.com/?u='+encodeURIComponent(p);
  3.     ajax.open("GET", url);

Estoy pensando que tal vez pueda ser algo de la codificación, tal vez la función md5 que uso me devuelve en UTF-8 o en otra codificación.

La función md5 que uso usa la función Base64.decode(texto) que extraje de esta url:
http://www.cesarcancino.com/codigos/js/base_64.js

¿Alguna idea?

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 22:56.