sólo quiero ahorrar algo de JSON (generado con Javascript) en un archivo en el servidor. Pero aun no entiendo que funcione con una cadena simple: ArchivoGuardar datos en archivo a través de Ajax POST y PHP
HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<style>
#test{
padding:20px 50px;
background:#ccc;
color:#000;
}
</style>
<script>
$(function(){
$('#test').click(function(){
$.ajax({
url: "page.php",
data: {"foo": "bar"},
processData: false,
contentType: 'application/json'
});
});
});
</script>
</head>
<body>
<div id="test">
KLICK
</div>
</body>
</html>
y el archivo PHP es algo como esto:
<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w');
fwrite($fh,$_POST['data']);
fwrite($fh,$_POST['foo']);
fwrite($fh,$_POST["foo"]);
fwrite($fh,$_POST[foo]);
fclose($fh);
Nada funcionó. También probé
$.ajax({
var datatosend="foo bar";
url: "page.php",
data: datatosend,
processData: false
});
No sé lo que podría estar mal. El archivo txt está allí después de hacer clic en div en el archivo html. Pero no hay contenido en el archivo. Si sólo escribo $ _POST al archivo de texto, el archivo contiene el texto "Matriz", lo que significa que $ _POST tiene algo de contenido.
Probé también el tipo "POST" y el código con var_export. Nada funcionó para mí. La salida con var_export era Php $ arr = NULL?> – Jens
¿Estás seguro de eso? $ _POST ['data'] 'contiene los datos reales? Es posible que también desee activar el informe de errores para ver si hay excepciones subyacentes ... – Lix
Estoy seguro de eso;) ¿Qué quiere decir con informes de errores? Si escribo 'error_reporting (E_ALL);' en el archivo php y solo abro el archivo php en el navegador, me dice 'Aviso: Índice indefinido: datos en ...' y así sucesivamente. Pero tiene que ser así, porque si abro directamente el archivo php $ _POST tiene que ser NULL. – Jens