Hola, estoy haciendo un sistema de votación (que el usuario seleccione cuantas estrellas le dá) y tengo un problema al guardar los datos.
El código es el siguiente:
<pre>
$(".stars").children("li:not(.voted)").click(function()
{
if (!$(this).hasClass("voted"))
{
var li=$(this);
var ul=$(this).closest("ul");
var txt=ul.find("span").data("txtoriginal");
var id=ul.data("id");
var valor=li.data("vote");
alert("Voy a votar "+id+" con un valor de "+valor+" y el texto original era "+txt);
$.getJSON("voto.php", { id: id, voto: valor } )
.done(function( json )
{
/* mostramos mensaje */
ul.find("span").html(json.estado);
/* actualizamos data */
ul.find("span").data("txtoriginal",json.value+"/5 en "+json.votes+" votos");
ul.addClass("ul_voted");
ul.children("li").addClass("voted");
/* cambiamos tama�o del div */
var maximo_posible=5*json.votes;
var porciento=json.suma*100/maximo_posible;
porciento=porciento.toFixed(2);
var txt=ul.find(".voted_percent").css("width",porciento+"%");
setTimeout(function() { ul.find("span").html(ul.find("span").data("txtoriginal")); }, 3000);
})
.fail(function( jqxhr, textStatus, error ) {
var err = textStatus + ', ' + error;
ul.find("span").text(err);
});
}
});
</pre>
El problema es que al hacer click para votar me dá un error: "error, Not Found".
Creo que el problema viene de esta línea (porque en el alert muestra bien los datos):
$.getJSON("voto.php", { id: id, voto: valor } )
Si ejecuto el archivo voto.php por separado (pasandole manualmente por la url las variables) me actualiza bien los datos y me devuelve los nuevos datos en formato JSON:
{"estado":"¡Votado! Gracias","suma":"10","value":"2.00","votes":"5","id":"1"}
Es como si no encontrara el archivo voto.php, pero el archivo que lo llama y voto.php estan en la misma carpeta, asique no debería haber problema.
A ver si alguien puede darme una idea de porque puede ser.
Muchas gracias y un saludo!.