Algo se me escapa.
He hecho estas dos pruebas...
Posteo el codigo y asi nos entenderemos mejor.
Fichero muestraEntreno.php
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Mis entrenamientos</title>
</head>
<link rel="stylesheet" type="text/css" href="http://www.miWeb.com/test/login/members/css/entrenamiento.css" />
<script type="text/javascript" src="../prototype/prototype.js"></script>
<script type="text/javascript" src="../garmin/device/GarminDeviceDisplay.js"></script>
<script type="text/javascript">
function newAjax()
{
var xmlhttp=false;
try
{
// Creación del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
</script>
<script type="text/javascript">
function nombreFuncion(valor1){
var ajaxData=newAjax();
ajaxData.open("POST", 'creaXML.php', true);
ajaxData.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajaxData.send("atributo1="+valor1);
ajaxData.onreadystatechange=function()
{
if (ajaxData.readyState==4)
{
alert("que bonito si funcionara....");
alert(ajaxData.responseText);
}
}
}
function load() {
var display = new Garmin.DeviceDisplay("garminDisplay",
{
pathKeyPairsArray: ["http://www.miWeb.com","c8a0e6942253c7f0222bdcaa24ef0409"],
showReadDataElement: true,
showProgressBar: false,
showFindDevicesElement: true,
showFindDevicesButton: false,
showDeviceButtonsOnLoad: false,
showDeviceButtonsOnFound: false,
autoFindDevices: true,
showDeviceSelectOnLoad: true,
autoHideUnusedElements: true,
showReadDataTypesSelect: false,
readDataType: Garmin.DeviceControl.FILE_TYPES.tcxDir,
deviceSelectLabel: "Selecciona dispositivo <br/>",
readDataButtonText: "Listado de entrenamientos",
showCancelReadDataButton: false,
lookingForDevices: 'Buscando el dispositivo ... <br/><br/> <img src="../garmin/device/style/ajax-loader.gif"/>',
uploadsFinished: "Transferencia Completada",
uploadSelectedActivities: true,
uploadCompressedData: false, // Turn on data compression by setting to true.
uploadMaximum: 5,
dataFound: "#{tracks} activities found on device",
showReadDataElementOnDeviceFound: true,
postActivityHandler: function(activityXml, display)
{
$('activity').innerHTML += activityXml.escapeHTML();
alert($('activity').innerHTML);
nombreFuncion($('activity').innerHTML);
}
}
);
}
</script>
<body onload="load()">
<table border="0" cellpadding="4" cellspacing="0" width="100%">
<tr>
<td>
<div id="garminDisplay"></div>
</td>
</tr>
<tr>
<td>
<div id="activity"></div>
</td>
</tr>
</table>
</body>
</html>
y fichero creaXML.php
Código PHP:
<?php
$text = $_POST['atributo1'];
echo 'test';
$file = fopen("GPS/entrenamiento.xml", "w+");
fwrite($file, $text);
fclose($file);
?>
Al ejecutar, he podido ver:
se ha ejecutado esta parte de codigo primero...
Código HTML:
postActivityHandler: function(activityXml, display)
{
$('activity').innerHTML += activityXml.escapeHTML();
alert($('activity').innerHTML);
nombreFuncion($('activity').innerHTML);
}
el alert de aqui muestra el XML
posteriormente accedo a nombreFuncion(....)
en
Código HTML:
function nombreFuncion(valor1){
var ajaxData=newAjax();
ajaxData.open("POST", 'creaXML.php', true);
ajaxData.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajaxData.send("atributo1="+valor1);
ajaxData.onreadystatechange=function()
{
if (ajaxData.readyState==4)
{
alert("que bonito si funcionara....");
alert(ajaxData.responseText);
}
}
}
en esta parte se ha mostrado el que bonito si funcionara..
y el siguiente alert ha mostrado el 'test', osease que la peticion al php llega, pero sin los datos que necesito.
No se cual es la explicacion.