AJAX - Ajax + simpleMVC

 
Vista:

Ajax + simpleMVC

Publicado por Virginia (2 intervenciones) el 16/07/2007 20:27:06
Buenas tardes, quisiera que me ayudaran con la implementación de ajax dentro del modelo de programación simpleMVC, he hecho la función en ajax para eliminar un registro de la base de datos, el modelo y el controlador, aparentemente por separado todo funciona bien, el problema es cuando el controlador recibe del servicio la respuesta del proceso de eliminación, pues siempre envía vacio aunque efectivamente elimine el registro, entonces, qué estoy haciendo mal???

//----------------------------Controlador
public function eliminar_rol(){
$co_rol = $_REQUEST['co_rol'];
$accion = new SoapClient(SOAP_HOST."RolModelo&wsdl");
try{
$ok = $accion->EliminarRol($co_rol);
if($ok==1)
{
return 1;
}
}
catch(Exception $e){
return 0;
}
}

//-------------------------------Función AJAX

//Ajax
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

peticion = new objetoAjax();
peticion1 = new objetoAjax();
ajax = new objetoAjax();
ajax1 = new objetoAjax();

function eliminar(co_rol){

id_codigo = co_rol;
if(confirm("¿Seguro desea eliminar "+id_codigo+"?")){
var url = "/rol/eliminar_rol?co_rol="+id_codigo;
peticion.open("POST",url,true);
peticion.onreadystatechange=function(){
if (peticion.readyState==4) {
//muestra resultados en esta variable
texto=peticion.responseText;
if(texto)
alert("Eliminación exitosa")
else
alert("Error en la eliminación")
}//fin if (ajax.readyState==4)
}//fin ajax.onreadystatechange=function()
//enviando los valores
peticion.send(null);
}
else
return;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 30
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

RE:Ajax + simpleMVC

Publicado por Yamil Bracho (184 intervenciones) el 16/07/2007 21:15:32
La funcion debe "retornar" el valor como una salida HTML (o XML). En pocas palabras cambia

public function eliminar_rol(){
$co_rol = $_REQUEST['co_rol'];
$accion = new SoapClient(SOAP_HOST."RolModelo&wsdl");
try{
$ok = $accion->EliminarRol($co_rol);
if($ok==1)
{
echo "1";
}
}
catch(Exception $e){
echo "0";
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ajax + simpleMVC

Publicado por Virginia (2 intervenciones) el 16/07/2007 21:40:03
Gracias, pero....
Si, lo probé de esa manera pero al recuperar la respuesta de la petición
texto=peticion.responseText;
alert("texto "+texto)

siempre viene vacia.... aunque haga la eliminación, pero cuando se ejecuta el controlador desde el navegador, si imprime el echo "1"... así que vuelvo el error persiste
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

RE:Ajax + simpleMVC

Publicado por Yamil Bracho (184 intervenciones) el 17/07/2007 16:18:10
Virigina, prueba la pagina primero, es decir, escribe el browse:

eliminar_rol.php?co_rol=valor y ve que valor te imprime en pantalla...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar