
Ajax me envia datos vacios al archivo php, ayuda por favor..
Publicado por facundo (185 intervenciones) el 17/12/2017 00:04:58
Buenas gente como andan?
Estoy aprendiendo javascript y exactamente AJAX en este momento, estoy tratando de enviar info al archivo php con ajax pero me envia los datos vacios, seguramente es una boludes pero no puedo darme cuenta que es ya que todavia no manejo bien esto..
A TENER EN CUENTA: cuando hago console.log para verificar devuelve esto:
console.log(idLista); (devuelve el id seleccionado)
console.log(obj.responseText) (hace un log en la consola pero vacio, no aparece NULL ni 0 ni nada, simplemente un renglon en blanco)
Y en el archivo .php me capta que le estoy enviando info por POST pero haciendole var_dump a $_POST me devuelve un array vacio
Este es el archivo html:
archivo php:
Y aca el codigo javascript:
Nose porque obj.responseText siempre me lo devuelve vacio.
Alguien tiene idea que puede llegar a ser?
Estoy aprendiendo javascript y exactamente AJAX en este momento, estoy tratando de enviar info al archivo php con ajax pero me envia los datos vacios, seguramente es una boludes pero no puedo darme cuenta que es ya que todavia no manejo bien esto..
A TENER EN CUENTA: cuando hago console.log para verificar devuelve esto:
console.log(idLista); (devuelve el id seleccionado)
console.log(obj.responseText) (hace un log en la consola pero vacio, no aparece NULL ni 0 ni nada, simplemente un renglon en blanco)
Y en el archivo .php me capta que le estoy enviando info por POST pero haciendole var_dump a $_POST me devuelve un array vacio
Este es el archivo html:
1
2
3
4
5
6
7
8
9
<form action="" method="post">
<select id="selector" name="selector">
<option value="1">Seleccione...</option>
<option value="2">Quiero ser el numero1 </option>
<option value="3"> Quiero ser el numero 2</option>
</select>
</form>
<p id="respuestaAjax"></p>
<script src="scriptPrueba.js"></script>
archivo php:
1
2
3
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
var_dump($_POST); //entra al IF pero devuelve array vacio
}
Y aca el codigo javascript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var select = document.querySelector("#selector");
var obj;
select.addEventListener("change",cargarContenidoSeleccionado);
function cargarContenidoSeleccionado() {
var idLista = select.value; //selecciono el id seleccionado (viene por el listener change del select^^^^
// var url = "prueba.php";
obj = new XMLHttpRequest();
obj.addEventListener('load', respuestaAjax);
obj.addEventListener('error', errorAjax);
obj.open("POST", "prueba.php");
obj.send(idLista);
console.log(idLista); //esto esta bien, me devuelve el value del option seleccionado
console.log(obj.responseText); //si lo chekeo desde la consola me devuelve un renglon vacio
}
function errorAjax(){
alert("Hubo un error en Ajax");
}
function respuestaAjax() {
if (obj.status !== 200) {
errorAjax();
}
if (obj.status === 200){
setearRespuestaAjax(obj.responseText);
console.log(obj.responseText);
}
}
function setearRespuestaAjax(response) {
document.querySelector("#respuestaAjax").innerHTML = response; //Renovamos el contenido de la lista en la vista, en base
// a lo que nos trajimos del servidor.
}
Nose porque obj.responseText siempre me lo devuelve vacio.
Alguien tiene idea que puede llegar a ser?
Valora esta pregunta


0