Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/06/2011, 08:12
Pelirr
 
Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: url con parametros antiguos

Hola, acabo de dar con la solución. El problema según he visto es que al utilizar objetos <s:url > para poner las direcciones, cogen los argumentos de window.location (incluso el namespace o camino de la url). De esta manera, si

window.location = ".../realTime/arrivalFlight/Flight.action?idDepartureFlight=3618&idDepartureFl ightMain=3344&metodo=fundir"

y yo tenía

<s:url action="NombreAction" /> cuyo namespace era = ... / otroCamino/Nombre.action,

, al pinchar no me encontraba mi action, y si ponía

<s:url action="NombreAction" namespace=".../otroCamino" />

al pinchar me ponía en la url:

".../otroCamino/Nombre.action?idDepartureFlight=3618&idDepartureFl ightMain=3344&metodo=fundir".

Para evitar éstos problemas, lo que he hecho en cada lugar de la llamada ajax dónde utilizaba

url: <s:url action="NombreAction" />

poner, antes de la llamada a ajax $.ajax({

url = '<s:url action="NombreAction" namespace=".../otroCamino" />';
if (url.indexOf("?") != -1)
{
var argumentos = url.split("?")[1];
url = url.replace(argumentos, nuevosArgumentos);
}
else
{
url = url + nuevosArgumentos;
}

y en la consulta ajax:

...
url : url,
...

Quizá es un poco lío, pero me funciona bien.

Gracias por la ayuda, un saludo