Неизвестная ошибка при попытке прочитать данные json_encode из PDO FetchAll Query
Я пытаюсь управлять данными из php-функции в JSON, но когда я пытаюсь получить к ней доступ, мой Ajax всегда переходит к методу ошибки.
Моя функция PHP:
function retornarPreguntas()
{
try {
global $conexion;
$query = $conexion->query('SELECT idPreguntas, Pregunta, Categoria, Visible, formato FROM preguntas');
$query->execute();
$preguntas = $query->fetchAll(PDO::FETCH_ASSOC);
header('Content-type:application/json;charset=utf-8');
$json = json_encode($preguntas);
echo $json;
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
}
моя функция JQuery
function crearPreguntas() {
$.ajax({
url: "includes/RespuestasAjax.php",
type: "POST",
data: {
funcion: "retornarPreguntas"
},
dataType: "json",
success: function(data) {
var html = "<tr><td colspan='5' align='center'>Evaluación</td></tr>";
html += '<tr><td colspan="5" align="center">Factores Generales de desempeño y rendimiento</td></tr>';
//var factores = retornarFactores();
alert("uno");
for (var i = 0; i < data.length; i++) {
html += '<tr>';
html += '<td>' + data[i]['pregunta'] + '</td>';
html += '<td><select id="pregunta' + i + '">';
for (k = 1; k <= 5; k++) {
html += '<option value="' + k + '">' + k + '</option>';
}
html += '</tr>';
}
$('#preguntas').empty();
$('#preguntas').append(html);
},
error: function(codigo) {
console.log(codigo);
}
});
}
Если я изменил свою функцию PHP на print_r, мое предупреждение отображает данные, но я не могу получить доступ по ключевому индексу, если я попробую json, то это выдаст мне ошибку:
[object Object] {readyState: 4, responseText: "", status: 200, statusText: "OK"}
Есть идеи, что я делаю не так?
1 ответ
Я только что добавил это в свой PHP-код:
$preguntas = $query->fetchAll(PDO::FETCH_ASSOC);
header('Content-Type: text/html;charset=utf-8');
$json = json_encode($preguntas);
Вместо:
$preguntas = $query->fetchAll(PDO::FETCH_ASSOC);
**header('Content-type:application/json;charset=utf-8');**
$json = json_encode($preguntas);