Estoy intentando enviar varias variables desde un archivo php a ajax usando json en una matriz. El código en el archivo php funciona perfectamente y hace todo con mi base de datos como debería. Pero tan pronto como agrego dataType: "json" en ajax, ya no pasa nada en el archivo php. Busqué en Google un poco y algunas personas mencionaron que podría ser un problema del navegador, pero hasta ahora no funciona en Firefox, Chrome o IE. Estoy usando la última versión de jQuery.dataType: "json" no funcionará
Esto es lo que sucede dentro de php:
<?php
//Create variables and update database
echo json_encode(array("id" => "$realid", "un" => "$username", "date" => "$date"));
?>
Y este es el código de Ajax:
.ajax(
{
url: 'UpdateComments.php',
type: 'POST',
dataType: "json",
data:
{
type: "add",
comment: $("#comment").val(),
id: videoID
},
success: function (data)
{
//Get the data variables from json and display them on page
}
});
no tengo ni idea de esto, cualquier consejo sería muy apreciada!
comprobar la respuesta Ajax en firebug/panel de red y ver lo que viene de tu servidor –
Un encabezado HTTP contentType puede ayudar – Bergi
Sospecho que lo que se devuelve no es estrictamente JSON - compruebe si hay espacio en blanco antes o después de su PHP, o cualquier otra cosa en el archivo que no debería estar allí (pista: use 'die' justo después de json_encode) Cuando no especifica el tipo de datos en JQuery, éxito = obteniendo una respuesta. Cuando lo haga, éxito = obteniendo una respuesta VÁLIDA .... También verifique su versión PHP, me parece recordar que json_encode fue interceptado en una versión anterior. – Codecraft