Insertar JS que pasa una variable de PHP para solicitar más código JS
-
16-09-2019 - |
Pregunta
Estoy tratando de hacer uso de la API de Google como una manera de conseguir la localización del usuario. Una vez que he hecho esto, paso esto a un script PHP externa que impulsarán la producción algo de código JavaScript. Sin embargo, estoy teniendo problemas para llamar al script PHP:
<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAKw7Q"></script
<script type="text/javascript">
if(google.loader.ClientLocation)
{
visitor_countrycode = google.loader.ClientLocation.address.country_code;
}
</script>
<script type='text/javascript' src='http://www.mysite.com/widget.php?mid=12&c=visitor_countrycode'>
</script>
Lo anterior es lo que se retreived de mi DB. Sin embargo la variable visitor_countrycode
no recibe generada en el código HTML que aún contiene el "visitor_countrycode
" cadena en lugar de su valor Javascript.
No puedo entenderlo.
Actualizar
De hecho, me puedo usar jQuery:
He intentado esto pero no conseguir mucho suerte con él.
$("<script type='text/javascript' scr='http://www.mysite.com/widget.php?mid=12&c="+visitor_countrycode+"'").appendTo('body');
Cualquier cosa mal con él?
Solución
Bien, bueno esta línea:
<script type='text/javascript' src='http://www.mysite.com/widget.php?mid=12&c=visitor_countrycode'>
</script>
... es simplemente recuperar los URL, " http: // www .mysite.com / widget.php? mediados = 12 & c = visitor_countrycode ". No se está evaluando la variable. - Es que se pasa como un parámetro normal
Si quieres tomar una URL generada dinámicamente, usted tiene que crear un nuevo elemento
Otros consejos
Se puede usar un simple solicitud HTTP para llamar a ese script PHP, así, de esa manera se podría incluso tomar el resultado y hacer algo en función de si el script PHP maneja su solicitud correctamente o no.
<script type="text/javascript">
var http = false;
if(google.loader.ClientLocation)
{
visitor_countrycode = google.loader.ClientLocation.address.country_code;
if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}
http.open("GET", 'http://www.mysite.com/widget.php?mid=12&c=' + visitor_countrycode);
http.send(null);
}
</script>