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

*Diferencia de una URL con y sin "WWW". Me da "Permiso Denegado"

Estas en el tema de *Diferencia de una URL con y sin "WWW". Me da "Permiso Denegado" en el foro de Frameworks JS en Foros del Web. Hola amigos. Estoy trabajando una aplicación con AJAX y PHP. Tengo varios meses de estar preparándome por medio de manuales con AJAX. Había leido que ...
  #1 (permalink)  
Antiguo 28/01/2011, 11:27
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta *Diferencia de una URL con y sin "WWW". Me da "Permiso Denegado"

Hola amigos.

Estoy trabajando una aplicación con AJAX y PHP.
Tengo varios meses de estar preparándome por medio de manuales con AJAX.
Había leido que por seguridad AJAX no permite en el método "open" usar URL's distintas a la de mi dominio. Por ejemplo si mi dominio es http://www.yo.com/ en el método Open no puede usar la URL http://www.ella.com/ ; http://www.el.com/, etc, etc.

El código que estoy usando es el siguiente:

// creo el "ajaxobj". No pongo el código para ahorrar líneas en este post.
Código Javascript:
Ver original
  1. var url_proc_admin = "http://www.sitioweb.com/procesos/nuevo.php"
  2. ajaxobj.open('POST',url_proc_admin,true);
  3. ajaxobj.onreadystatechange = procesando_datos;
  4. ajaxobj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  5. ajaxobj.send(param);

Como pueden ver, en la variable "url_proc_admin" yo estoy usando la URL con el "www". El código funciona perfectamente y llama a un archivo PHP, que es el encargado de insertar los datos en la base de datos. Todo perfecto, hasta aquí.

El problema es si el usuario digitó en la barra de direcciones SIN el "www", en este caso no funciona y no envia ninguno de los datos que hago por medio de:
Código Javascript:
Ver original
  1. ajaxobj.send(param);

Revisando en Internet Explorer 8 me indica "Permission Denied (Permiso denegado)". Estuve buscando en internet sobre este error de IE y es porque AJAX ve diferente http://www.ejemplo.com y http://ejemplo.com (con y sin la www). Supongo que los ve como dominios diferentes.

Ajax tiene algún método para detectar si el usuario desde un inicio digitó con ó sin "www" y de esta manera antes que se ejecuté el "ajaxobj.send(param)" le asigne el "www"?

Agradezco su ayuda y recomendaciones.
Saludos.
__________________
Loading...
  #2 (permalink)  
Antiguo 30/01/2011, 00:52
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 8 meses
Puntos: 7
Sonrisa Respuesta: *Diferencia de una URL con y sin "WWW". Me da "Permiso Denegado"

Bueno amigos.

Les cuento que al final tuve que crear una solución temporal. Se me ocurrió detectar si la URL tiene ó no tiene el www

Si no lo tiene, "captura" la URL actual, asigna o agrega el "www" y recarga la página. Esta es la función:


Código Javascript:
Ver original
  1. function obtenerurl(){
  2. var url=document.URL;
  3. var www="www";
  4. var newURL="";
  5. var parametros_get="";
  6. var DOMINIO2="http://www.misitio.com"
  7.  
  8. posicion=url.indexOf(www);
  9.    
  10.     if(posicion == -1){
  11.            
  12.        parametros_get=window.location.search;// Pasa parámetros como ?op=1&id=15
  13.             if(parametros_get!=""){
  14.                     newURL=DOMINIO2+window.location.pathname+parametros_get;
  15.             }
  16.             else
  17.             {
  18.                     newURL=DOMINIO2+window.location.pathname+parametros_get;
  19.             }
  20.             window.location.href=newURL;
  21.     }
  22.  
  23. }

Le haré por el momento, pero si existiera algo mejor, les agradezco su aporte.
Saludos.
__________________
Loading...
  #3 (permalink)  
Antiguo 31/01/2011, 05:11
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 9 meses
Puntos: 16
Respuesta: *Diferencia de una URL con y sin "WWW". Me da "Permiso Denegado"

Por qué no trabajas con rutas relativas? Te recomiendo utilizarlas SIEMPRE, te evitarás muchos quebraderos de cabeza.

Dependiendo de dónde tengas el JS, la ruta podría ser:
var url_proc_admin = "./procesos/nuevo.php"
ó
var url_proc_admin = "../procesos/nuevo.php"
ó
var url_proc_admin = "../../procesos/nuevo.php"

etc...
  #4 (permalink)  
Antiguo 02/02/2011, 18:06
Avatar de raxper  
Fecha de Ingreso: enero-2010
Ubicación: ------
Mensajes: 472
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: *Diferencia de una URL con y sin "WWW". Me da "Permiso Denegado"

Yo utilizaría .htacces para obligar al usuario a entrar con www

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.dominio.com
RewriteRule (.*) http://www.dominio.com/$1 [R=301,L]


Para activar el módulo mod_rewrite
__________________
/^sleep:\/\//;
  #5 (permalink)  
Antiguo 12/02/2011, 11:20
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 8 meses
Puntos: 7
De acuerdo Respuesta: *Diferencia de una URL con y sin "WWW". Me da "Permiso Denegado"

Hola WeSoRz y raxper, saludos compañeros.
Muchas gracias a los dos por las respuestas.

WeSoRz no se por qué no había pensado en las rutas relativas. La verdad que me estaba complicando mucho la vida. Esa función quedará pero para darle otro uso.

raxper tu respuesta es muy buena. Me servirá para usarla para diferentes propósitos.

Muchas gracias a los dos.
Saludos.
__________________
Loading...

Etiquetas: ajax, send, url, www
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 13:36.