Estoy usando una función jQuery ajax y un archivo PHP para cambiar un archivo JSON, pero el archivo no cambiará aunque reciba el mensaje "¡Gracias!" alerta. Mi código jQuery, PHP y JSON es el siguiente.

Archivo jQuery:

$.ajax({
        url: 'savePoll.php',
        type : 'POST',
        async: false,
        data: 0,
        success: function () {alert("Thanks!"); },
        failure: function() {alert("Error!");}
})

Archivo PHP:

$jsonString = file_get_contents('poll.json');
$data = json_decode($jsonString, true);
$data["answers"][$_POST]++;
$newJsonString = json_encode($data);
file_put_contents('poll.json', $newJsonString);

Archivo JSON:

{
  "answers":[0,0,0,0,0]
}

Mi archivo JSON nunca cambia, pero todavía recibo mi alerta de éxito. Gracias por cualquier ayuda.

0
Wowsk 26 ene. 2016 a las 21:08

2 respuestas

La mejor respuesta

Asegúrese de que el archivo que desea cambiar tenga 755 permisos.

0
Wowsk 27 mar. 2016 a las 12:04
  1. Esto: $data["answers"][$_POST]++; no parece válida. Esto: $data["answers"][$_POST]++; no parece válido.
  2. La función failure: solo se activará en una respuesta HTTP que no sea 200.
  3. El error en el n. ° 1 no es lo suficientemente grave como para provocar un error HTTP. Tendría que implementar la lógica para que la página devuelva un código de respuesta HTTP de nivel 400 para que alguna vez tenga el disparador failure:.
0
Sammitch 26 ene. 2016 a las 18:17