Ajax响应没有带来数据
Ajax response not bringing data
我正在制作一个网页,我从我的数据库中进行测验问题,我在我的页面中显示它们,我使用ajax与php和MySQL,我正在尝试这样做:
$.ajax({
url:'../servicios/obtenerPregunta.php',
type:'post',
data:{
},
dataType:'json',
success: function(response){
var contenedorPreguntas = document.querySelector('.cont-pregunta-examen');
contenedorPreguntas.innerHTML = response[0]['pregunta'];
},
error:function(request, error){
alert(error);
}
});
这是我的php:
<?php
require_once 'login.php';
$conexion = new mysqli($host_name,$user_name,$password,$data_base);
if($conexion->connect_error)die($conexion->error);
$sentencia_sql = "CALL pa_obtener_preguntas";
$resultado = $conexion -> query($sentencia_sql);
if (!$resultado) die('Fallo la consulta a la BD, favor revisar la sentencia sql');
$preguntas = array();
while($pregunta = mysqli_fetch_assoc($resultado)) {
$preguntas[]=$pregunta;
}
echo json_encode($preguntas);
?>
我总是使用这种方法,并与其他项目一起工作,但在这种情况下,它没有从我的数据库中带来任何东西,我的意思是,它没有显示任何错误或问题,只是没有数据从数据库中带来,我得到了过程,我测试了,工作正常,我的login.php很好,一切都很好,但我不知道为什么****这是不工作
一个可能的原因可能是因为Ajax将响应转换为对象,而不是常规数组,并且您不能使用[0]
来获取对象的第一条记录。
使用:
first = response[Object.keys(response)[0]]; //gets the first object
contenedorPreguntas.innerHTML = first['pregunta'];
下面是一个示例
必须设置header来纠正ajax请求中的dataType。所以添加
header("Content-type: application/json");
后<?php
相关文章:
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何在数据表中设置从Ajax响应选中的复选框
- 自定义验证并格式化从数据数据库返回的响应-BEGINNER
- 访问令牌和响应数据
- angular.js我如何设置数据什么是响应值
- Laravel数据表无效的JSON响应
- GCM Chrome:空数据响应
- AJAX 数据响应 - 如何解析 html
- 如何重新格式化来自 URL 的数据响应
- 如何从 ajax 请求获取数据响应
- 在数据响应中选择 #id.html
- Ajax数据响应数据未发出警报
- 使HTML表格's数据响应
- 用Javascript处理来自JSF Ajax的数据响应
- JQuery, HTML5上传器-获取上传后的数据响应
- 如何解析特定的json数据响应
- AngularJS美元范围.Push不从$http数据响应更新视图
- 如何根据本地存储的另一个数据响应延迟XMLHttpRequest
- Jquery ajax修改数据响应
- 如何将Ajax数据响应转换为字符串