¿Qué significa "pendiente" para la solicitud en la ventana del desarrollador de Chrome?

104

¿Qué significa " Pendiente " en la columna de estado de la pestaña " Red " de la ventana del desarrollador de Google Chrome?

Esto sucede cuando el script de mi página emite una solicitud GET cuya respuesta contiene encabezados de contenido para descargar un archivo CSV:

Content-type: text/csv;
Content-Disposition: attachment; filename=myfile.csv

Esto funciona bien en FF e IE7, descargando un archivo CSV como se esperaba y abriendo un selector de archivos para guardar el archivo, pero Chrome no hace nada. Confirmé que el servidor responde a la solicitud, por lo que parece que Chrome no procesará la respuesta.

Curiosamente, todo funciona como se esperaba si escribo la URL en la barra de direcciones de Chromes y presiono.

FYI: Chrome 10.0.648.204 en Win-XP

Lawrence I. Siden
fuente
Tengo un problema similar con los archivos javascript. Las bibliotecas jQuery no se cargan correctamente y causan problemas.
Jack M.
No olvide que las extensiones podrían estar causando este problema: tuve un problema con la inclusión de un píxel de seguimiento de afiliados de terceros, la solicitud se bloqueó para siempre como 'pendiente'. Resultó que me había olvidado de desactivar el bloqueo de anuncios.
Andy Smith
13
Tenga en cuenta que esta pregunta (la primera oración) aún no ha sido respondida. Todas las respuestas a continuación (a partir de hoy) son simplemente "esto es lo que me causó". El mensaje es muy genérico y puede deberse a una gran cantidad de problemas. Si supiera exactamente cuáles son, respondería, pero en general parece significar que por alguna razón la comunicación se está impidiendo en algún lugar entre la página y el servidor. Por "página" no me refiero al navegador, las extensiones del navegador pueden causar esto como se mencionó en otra parte.
AlexMA
1
viendo esto con la versión actual de Google Chrome Canary (v43) pero no con la versión estable de Chrome (v40) con URLS de cloudfront
Simon_Weaver

Respuestas:

61

En mi caso, descubrí (después de mucho tirón de pelo) que el estado "pendiente" fue causado por la extensión AdBlock. La imagen que no pude cargar tenía la palabra "anuncio" en la URL, por lo que AdBlock evitó que se cargara.

Deshabilitar AdBlock soluciona este problema.

Cambiar el nombre del archivo para que no contenga "anuncio" en la URL también lo corrige, y obviamente es una mejor solución. A menos que sea un anuncio, en cuyo caso debe dejarlo así. :)

Robin Daugherty
fuente
1
He visto lo mismo en Chrome con la extensión TamperMonkey instalada.
sstn
1
@Robin Daugherty, ¿la extensión adblock está en el lado del servidor o en el lado del cliente ?, en el lado del cliente en mi caso no hay nada. Y el estado pendiente finaliza entre 1,8 min y 2,2 min ... ¿qué podría estar mal? mala red ?.
Juan Ruiz de Castilla
1
Podría ser cualquier otra extensión que bloquee la carga del archivo. Intente usar una ventana de incógnito, donde todas sus extensiones están deshabilitadas. (Es posible que alguna extensión esté habilitada en modo incógnito, por lo que debe verificar).
Robin Daugherty
Me estaba tirando de los pelos tratando de averiguar por qué mi entorno de desarrollo (Angular y Visual Studio) era tan lento. Deshabilitar uBlock funcionó. ¡GRACIAS!
XVargas
2
El mío ocurre en IE que no es compatible con AdBlocker ... :( Este es un problema intermitente para mí.
Json
5

También obtengo esto cuando uso el complemento HTTPS en todas partes. Este complemento tiene una lista de sitios que también tienen https en lugar de http. Así que supongo que antes de realizar la solicitud real, ya se está cancelando de alguna manera.

Entonces, por ejemplo, cuando voy a http://stackexchange.com , en Desarrollador veo primero una solicitud con estado (terminado). Esta solicitud tiene algunos encabezados, pero solo GET, User-Agent y Accept. Tampoco hubo respuesta.

Luego hay una solicitud a https://stackexchange.com con encabezados completos, etc.

Así que supongo que se usa para solicitudes que no se envían.

nadie
fuente
5

Tuve algunos problemas con la solicitud pendiente de archivos mp3. Tenía una lista de archivos mp3 y un reproductor para reproducirlos. Si elegía un archivo que ya se había descargado, Chrome bloquearía la solicitud y mostraría "solicitud pendiente" en la pestaña de red de las herramientas para desarrolladores.

Todas las versiones de Chrome parecen verse afectadas.

Aquí hay una solución que encontré:

player[0].setAttribute('src','video.webm?dummy=' + Date.now());

Simplemente agrega una cadena de consulta ficticia al final de cada URL. Esto obliga a Chrome a descargar el archivo nuevamente.

Otro ejemplo con el reproductor de palomitas de maíz (usando jquery):

url = $(this).find('.url_song').attr('url');
pop = Popcorn.smart( "#player_",  url + '?i=' + Date.now());

Esto funciona para mi. De hecho, el recurso no se almacena en el sistema de caché. Esto también debería funcionar de la misma manera para los archivos .csv.

Necko
fuente
2

Tuve el mismo problema en OSX Mavericks, resultó que el antivirus de Sophos estaba bloqueando ciertas solicitudes, una vez que lo desinstalé, el problema desapareció.

Si cree que puede ser causado por una extensión, una forma fácil de probarlo es abrir Chrome con la '--disable-extensionsbandera para ver si soluciona el problema. Si eso no lo soluciona, considere mirar más allá del navegador para ver si alguna otra aplicación podría estar causando el problema, específicamente las aplicaciones de seguridad que pueden afectar las solicitudes.

Santiago angel
fuente
2

El estado pendiente de la red a tiempo, significa que su solicitud está en progreso. Tan pronto como responda, el tiempo se actualizará con el tiempo total transcurrido.

Esta imagen muestra que la llamada de red está en estado de procesamiento (pendiente) Esta imagen muestra que la llamada de red está en estado de procesamiento (pendiente)

Esta imagen muestra el tiempo necesario para procesar la llamada de red. Esta imagen muestra el tiempo necesario para procesar la llamada de red.

Harendra Kr. Jadon
fuente
1
Actualmente miro los tiempos transcurridos informados falsamente. En realidad, permanecería pendiente durante 4 segundos, pero informaría 150 ms. Y ese es relativamente el tiempo que el servidor maneja esos informes de solicitudes (150 ms). Es como si algo
estuviera
1

Tuve un problema similar con las llamadas ajax de la aplicación / json. En ff / IE estaban bien. En Chrome, en la ventana Developer Network, el estado siempre estaba (pendiente) porque se devolvía un código de estado diferente.

En mi caso, cambié mi respuesta Json para enviar un HttpStatusCode de 200, luego Chrome estaba bien y el texto de estado cambió a 200 OK.

Por ejemplo, usando ASP.NET Web Api

 return new HttpResponseMessage(HttpStatusCode.OK ) {
            Content = request.Content
        };
Jafin
fuente
¿Puede dar un pequeño ejemplo de cómo y dónde cambia el HttpStatusCode?
Aras
1

El mismo problema con Chrome: tenía en mi página html el siguiente código:

<body>
  ...
  <script src="http://myserver/lib/load.js"></script>
  ...
</body>

Pero load.jssiempre estaba en estado pendingal mirar en el panel de la red.

Encontré una solución usando carga asincrónica de load.js:

<body>
  ...
  <script>
    setTimeout(function(){
      var head, script;
      head = document.getElementsByTagName("head")[0];
      script = document.createElement("script");
      script.src = "http://myserver/lib/load.js";
      head.appendChild(script);
    }, 1);
  </script>
  ...
</body>

Ahora está funcionando bien.

SebastienC
fuente
0

Me encontré con este problema cuando estaba depurando una aplicación web local. El problema resultó ser las restricciones de AVG Antivirus y Firewall. Tuve que permitir una excepción a través del cortafuegos para eliminar el estado "Pendiente".

Sanjeet Sahay
fuente
0

La solución, para mí, fue agregar lo siguiente en la parte superior del archivo php que se estaba solicitando.

header("Cache-Control: no-cache,no-store");
Anónimo
fuente
0

En mi caso, hay una actualización para Chrome que hace que no se cargue antes de reiniciar el navegador. Salud

Stefanus Diptya
fuente
-3

Encontré el mismo problema cuando solicito ciertas imágenes de la página. Utilizo JavaScript para establecer el atributo src de un objeto img y si la red es deficiente, la pendiente se mostrará en el panel de red de la ventana del desarrollador de Chrome. Creo que se debe a la mala red.

jz1108
fuente
4
Tengo el mismo problema, pero las imágenes siempre aparecen directamente en IE o FF, por lo que no es la red. Además, es intermitente. Me pregunto si tiene nuevas ideas
Lior
El mismo problema aquí. En FF esas imágenes se cargan bien.
svassr