javascript - por - ¿Cómo paso una URL con múltiples parámetros en una URL?
pasar variables por url php post (5)
¿Te estás perdiendo el ?
en la segunda URL (también, debe estar codificada para que sea %3F
).
Además, creo que el resto &
necesidad de ser URL, no codificada en HTML. Cambie &second=12&third=5
a %26second=12%26third=5
y todo debería funcionar.
Esta:
&u=http://www.foobar.com/first=12&sec=25&position=2
debiera ser:
&u=http://www.foobar.com/%3Ffirst=12%26sec=25%26position=2
Básicamente estoy tratando de pasar una URL como esta:
www.foobar.com/?first=1&second=12&third=5
en una URL como esta:
http://www.facebook.com/sharer.php?&t=FOOBAR&u=http://www.foobar.com/first=12&sec=25&position=2
Solo reconoce el primer parámetro. Estoy teniendo el mismo problema con LinkedIn y Twitter, por lo que debe ser algo que estoy haciendo mal.
En jQuery, puedes usar:
var myObject = {first:1, second=12, third=5};
jQuery.param();
Doc: http://api.jquery.com/jquery.param/ La salida: primero = 1 y segundo = 12 y tercero = 5 Esto lo formateará, cualquiera que sea su objeto.
En lugar de html encoding
su parámetro de URL, necesita URL encode
:
http://www.facebook.com/sharer.php?&t=FOOBAR&u=http%3A%2F%2Fwww.foobar.com%2F%3Ffirst%3D12%26sec%3D25%26position%3D
Puede hacerlo fácilmente en la mayoría de los idiomas, en javascript :
var encodedParam = encodeURIComponent(''www.foobar.com/?first=1&second=12&third=5'');
// encodedParam = ''http%3A%2F%2Fwww.foobar.com%2F%3Ffirst%3D12%26sec%3D25%26position%3D''
(Hay métodos equivalentes en otros idiomas también)
En su ejemplo, partes de su URL pasada no están codificadas en URL (por ejemplo, los dos puntos deben ser% 3A, las barras diagonales deben ser% 2F). Parece que ha codificado los parámetros para la URL de su parámetro, pero no la URL del parámetro en sí. Intenta codificarlo también. Puedes usar encodeURIComponent
.
Tienes que escapar del carácter &. Voltea tu
&
dentro
&
y usted debe ser bueno.