Foros del Web » Programando para Internet » PHP »

Respuesta de ajax siempre por error.

Estas en el tema de Respuesta de ajax siempre por error. en el foro de PHP en Foros del Web. Hola a todos, estoy con un problemita que no logro dar con la solución. Les paso a contar, estoy enviando datos por ajax e inserto ...
  #1 (permalink)  
Antiguo 05/05/2015, 09:09
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 10 años, 1 mes
Puntos: 12
Respuesta de ajax siempre por error.

Hola a todos, estoy con un problemita que no logro dar con la solución. Les paso a contar, estoy enviando datos por ajax e inserto los datos en la tabla, hasta ahi todo perfecto. Una vez insertado los datos devuelvo un status en formato json. Paso el código.
Código Javascript:
Ver original
  1. $.ajax({
  2.                 url: "../api/apiversion1/controllers/AgentController.php",
  3.                 type: 'POST',
  4.                 dataType: 'json',
  5.                 data: {
  6.                     action: 'save',
  7.                     name: $('#txt-name').val(),
  8.                     surname: $('#txt-surname').val()
  9.                 }
  10.             }).done(function(response) {
  11.                 alert(response); alert(response['message']);
  12.                 if (response['message'] == 'Query OK') {
  13.                     alert(response['hash']);
  14.                     window.location.href = 'pago.html?'+response['hash'];
  15.                     //$('#section-content-paso1').fadeOut(500);
  16.                     //$('#section-final-step').fadeIn(500);
  17.  
  18.                 } else {
  19.                     window.location.href = 'msg.php?m=' + response['error'];
  20.                 }
  21.  
  22.             }).error(function(response) {
  23.                 alert("otra vez error"); alert(response['message']);
  24.                 //window.location.href = 'msg.php';
  25.             });

Codigo php
Código PHP:
Ver original
  1. $action = $_POST['action'];
  2.  
  3. if(!empty($action)) {
  4.     $agentModel = new AgentModel();
  5.     $logModel = new LogModel();
  6. }
  7.  
  8. switch($action) {
  9.       case 'save':
  10. try
  11.         {
  12.             // Aca inserto los datos en la tabla          
  13.             $data = $agentModel->insert($_POST);
  14.            
  15.         }
  16.         catch(Exception $e)
  17.         {
  18.            
  19.             $message = $e->getMessage();
  20.             $data['error'] = $message;
  21.  
  22.             $logModel->insert('error', $message);
  23.         }
  24.        
  25.        // No hay error
  26.        echo json_encode($data);
  27.        break;
  28. }


Si todo inserta bien en la tabla y el json que me devuelve es este

{"message":"Query OK","results":"ONSERT:OK","hash":"cyVERCUyNSUwQSUx OSU5RCVBQiUxMiUzRW4lODQ3ZW1pJTNGJUIwJTIzJ"}

El jquery no me va por
done(function(response) {
alert(response); alert(response['message']);
if (response['message'] == 'Query OK') {
/// codigo
}
y siempre va por

error(function(response) {
alert("otra vez error"); alert(response['message']);
//window.location.href = 'msg.php';
})

y el mensaje que me devuelve el json es este ['message'] == 'Query OK', alquie sabe porque me va por error cuando todo funciona bien e inserta los datos en la tabla y el json que me devuelve tambien esta correcto.?

Gracias de ante mano.
__________________
http://www.sp-vision.net
  #2 (permalink)  
Antiguo 05/05/2015, 09:27
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Respuesta de ajax siempre por error.

Entonces la parte de php hace bien su trabajo ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 05/05/2015, 10:44
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 10 años, 1 mes
Puntos: 12
Respuesta: Respuesta de ajax siempre por error.

Hola hhs, Sip, la parte de php hace bien su trabajo. Y es por eso que no logro dar con el inconveniente.
__________________
http://www.sp-vision.net

Etiquetas: ajax-php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:22.