Foros del Web » Programando para Internet » PHP »

307 Temporaly redirect

Estas en el tema de 307 Temporaly redirect en el foro de PHP en Foros del Web. Tengo un sistema para mostrar turnos que funciona haciendo un poll (llamando un ajax cada 10 segundos todo el tiempo, y preguntando si hay un ...
  #1 (permalink)  
Antiguo 08/01/2013, 07:37
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
307 Temporaly redirect

Tengo un sistema para mostrar turnos que funciona haciendo un poll (llamando un ajax cada 10 segundos todo el tiempo, y preguntando si hay un nuevo turno).

Tanto la vista html, como el js y el php que entrega la información funcionan correctamente, pero luego de algunos request, recibo un 307 en vez de un 200, apareciendo en pantalla un alert y arruinando la finalidad de la pantalla

Existe alguna manera de evitar el response 307? no encuentro un handler que ande desde js, o tal vez con algun header en el hp, la verdad que no tengo idea que hacer :/



Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once('../../header.inc.php');
  4.  
  5. if (isset($_POST['colas']) && !empty($_POST['colas'])) {
  6.  
  7.     $svcColasxUop = ServiceFactory::getService('colaxuop');
  8.     $respuesta = Array();
  9.  
  10.     $counter = 0;
  11.     foreach ($_POST['colas'] as $cola) {
  12.  
  13.         list($id_uo, $id_cola) = explode('-', $cola);
  14.  
  15.         $ultimo_numero = $svcColasxUop->colaMonitor($id_uo, $id_cola);
  16.        
  17.         if ($ultimo_numero) {
  18.            
  19.             foreach ($ultimo_numero as $num) {
  20.  
  21.                 $respuesta[] = $num;
  22.                 $counter++;
  23.             }
  24.         } else {
  25.             $temp_array['num_atencion'] = 0;
  26.             $temp_array['id_uo'] = $id_uo;
  27.             $temp_array['id_cola'] = $id_cola;
  28.             $temp_array['desc_puesto'] = '  ';
  29.             $temp_array['id_puesto'] = '  ';
  30.             $respuesta[] = $temp_array;
  31.         }
  32.  
  33.  
  34.         $counter++;
  35.     }
  36.     echo json_encode($respuesta);
  37. }
  38. ?>

Código Javascript:
Ver original
  1. var particular = {
  2.    
  3.     init: function(){
  4.          
  5.         var inter = function(){
  6.              
  7.             poll();
  8.             setInterval(
  9.                 function() {
  10.                     poll()
  11.                 }, 10000 );
  12.  
  13.         }
  14.    
  15.         var poll = function(){
  16.                        
  17.             $.ajax({
  18.                 url: 'ajax/ajax_monitor.php',
  19.                 type: 'POST',
  20.                 timeout:10000,
  21.                 dataType: 'JSON',
  22.                 data: ({
  23.                     colas: arreglo
  24.                 }),
  25.                 success: function(respuesta){
  26.                    
  27.                 //Todo
  28.                 }
  29.             });
  30.         };
  31.  
  32.         inter();
  33.     },
  34.    
  35. }
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Última edición por h2swider; 08/01/2013 a las 07:43
  #2 (permalink)  
Antiguo 08/01/2013, 08:10
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: 307 Temporaly redirect

Pero el 307 se genera solo ?, que tienes en header.inc.php ?, de toda formas puedes utilizar header para forzar un 200.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 08/01/2013, 08:26
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: 307 Temporaly redirect

el header.inc.php solo tiene defines de constantes. El 307 se esta generando solo, en el php no hay ni un solo header para que pueda hacer eso.

Voy a intentar forzar el 200 como me comentas.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #4 (permalink)  
Antiguo 08/01/2013, 10:32
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: 307 Temporaly redirect

Intente forzarlo con

Código PHP:
Ver original
  1. header('HTTP/1.1 200 OK');

al inicio del php, pero no funciono, sigue ocurriendo lo mismo. Alguna otra idea?
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Etiquetas: html, redirect
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 02:23.