jquery - example - SCRIPT7002: XMLHttpRequest: error de red 0x2ef3, no se pudo completar la operación debido al error 00002ef3
jquery ajax json (12)
Alterar la directiva en el host virtual para KeepAliveTimeout a 60 resolvió esto para mí.
Sigo recibiendo este error cuando hago algunas llamadas a Ajax ...
Puede que incluso tenga algo que ver con la codificación geográfica, pero realmente no tengo idea de cómo capturar el error para mostrar algo útil para los usuarios ... o incluso cómo resolver el problema, ya que parece estar haciendo referencia a algún tipo de puntero o algo así: S 0x2ef3
SCRIPT7002: XMLHttpRequest: error de red 0x2ef3, no se pudo completar la operación debido al error 00002ef3.
Una imagen puede ser más útil que el mensaje de error:
Alguna idea en absoluto?
Mi código dispara 10 llamadas ajax en 1 segundo para ser procesado por el lado de geocodificación del servidor.
El error aparece intermitentemente A veces obtengo resultados geocodificados y, a veces, obtengo ese error. Yo diría que lo entiendo el 10% del tiempo. Se detiene por completo la llamada ajax de disparar mi controlador de errores en jQuery.
Con Apache 2, cambie KeepAliveTimeout
a 60 o superior
Esta es la solución que funcionó para mí. Hay un mime inválido o un conjunto de caracteres incorrecto que se envía con los datos de json que provocan ese error. Agregue el conjunto de caracteres de esta manera para evitar que se confunda:
$.ajax({
url:url,
type:"POST",
data:data,
contentType:"application/json; charset=utf-8",
dataType:"json",
success: function(){
...
}
});
Referencia:
Jquery: cómo hacer que $ .post () use contentType = application / json?
Este problema ocurrió en mi proyecto debido a una llamada GET ajax con una cadena xml larga como valor de parámetro. Resuelto por el siguiente enfoque: Hacerlo como una llamada posterior a jaja al método de clase de controlador Java Spring MVC como este.
$.ajax({
url: "controller_Method_Name.html?variable_name="+variable_value,
type: "POST",
data:{
"xmlMetaData": xmlMetaData // This variable contains a long xml string
},
success: function(response)
{
console.log(response);
}
});
Método de clase de controlador Spring MVC:
@RequestMapping(value="/controller_Method_Name")
public void controller_Method_Name(@RequestParam("xmlMetaData") String metaDataXML, HttpServletRequest request)
{
System.out.println(metaDataXML);
}
He encontrado el mismo problema en mi proyecto asp.net, al final encontré que el problema es que la función objetivo no estática, el problema se solucionó después de que puse la palabra clave estática.
[WebMethod]
public static List<string> getRawData()
Me he tropezado con estas preguntas y respuestas después de recibir el error antes mencionado en IE11
cuando intento cargar archivos usando XMLHttpRequest
:
var reqObj = new XMLHttpRequest();
//event Handler
reqObj.upload.addEventListener("progress", uploadProgress, false);
reqObj.addEventListener("load", uploadComplete, false);
reqObj.addEventListener("error", uploadFailed, false);
reqObj.addEventListener("abort", uploadCanceled, false);
//open the object and set method of call (post), url to call, isAsynchronous(true)
reqObj.open("POST", $rootUrlService.rootUrl + "Controller/UploadFiles", true);
//set Content-Type at request header.for file upload it''s value must be multipart/form-data
reqObj.setRequestHeader("Content-Type", "multipart/form-data");
//Set header properties : file name and project milestone id
reqObj.setRequestHeader(''X-File-Name'', name);
// send the file
// this is the line where the error occurs
reqObj.send(fileToUpload);
Eliminando la línea reqObj.setRequestHeader("Content-Type", "multipart/form-data");
arregló el problema
Nota: este error se muestra de manera muy diferente en otros navegadores. Es decir, Chrome muestra algo similar a un restablecimiento de conexión que es similar a lo que informa Fiddler (una respuesta vacía debido a una conexión repentina).
Además, este error apareció solo cuando se realizó la carga desde un equipo diferente de WebServer
(sin problemas en el host local).
Recibí el mismo error ( SCRIPT7002: XMLHttpRequest: Network Error 0x80004004, Operation aborted
), en nuestro caso fue debido a la misma política de origen de JavaScript.
Nuestra aplicación web realizaba una llamada JQuery AJAX a nuestro servidor en el puerto 8080. La llamada estaba siendo interceptada y reencaminada a través de SSL (debido a las reglas del servidor que exigen que el tráfico entrante use SSL).
Una vez que hicimos que nuestra aplicación web se cargara a través del puerto SSL, el problema se solucionó.
Solo quiero agregar lo que resolvió este problema para mí, ya que es diferente a todas las respuestas anteriores.
Las llamadas ajax que causaban el problema intentaban pasar un objeto de datos vacío. Parece que a IE no le gusta esto, pero a otros navegadores no les importa.
Para solucionarlo, simplemente eliminé data: {},
de la llamada ajax.
También encontramos problemas similares. Sin embargo, configurar el juego de caracteres como se indicó en el comentario anterior no ayudó. Nuestra aplicación realizaba una solicitud AJAX cada 60 segundos y nuestro servidor web, nginx, enviaba el tiempo de espera de Keep-Alive a 60 segundos.
Solucionamos el problema estableciendo el valor de tiempo de espera de mantener vivo en 75 segundos.
Esto es lo que creemos que estaba pasando:
- IE hace una solicitud de AJAX cada 60 segundos, configurando Keep-Alive en la solicitud.
- Al mismo tiempo, nginx sabe que IE ignora el valor de tiempo de espera de Keep-Alive, por lo que inicia el proceso de cierre de la conexión TCP (en el caso de FF / Chrome, el cliente lo inicia).
- IE recibe la solicitud de conexión cercana para la solicitud enviada previamente. Como IE no espera esto, arroja un error y aborta.
- nginx todavía parece responder a la solicitud aunque la conexión esté cerrada.
Un volcado de Wireshark TCP proporcionaría más claridad, nuestro problema es fijo y no deseamos dedicarle más tiempo.
Tuve este error por un tiempo y encontré una solución. Esta solución es para la aplicación Asp.net, Strange falló solo en modo IE no compatible, pero funciona en Firefox y Crome. Dar acceso a la carpeta del servicio webservice para todos / usuarios específicos resolvió el problema.
Agregue el siguiente código en el archivo web.config:
<location path="YourWebserviceFolder">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Tuve este problema, una solicitud de publicación de AJAX que devolvió un error de JSON, que finalmente devolvió abortar, con:
SCRIPT7002: XMLHttpRequest: Error de red 0x2ef3
error en la consola. En otros navegadores (Chrome, Firefox, Safari), la misma solicitud exacta de AJAX estaba bien.
Seguí mi problema: la investigación reveló que a la respuesta le faltaba el código de estado. En este caso, debería haber sido 500 error interno. Esto se estaba generando como parte de una aplicación web C # utilizando la pila de servicios que requiere un código de error para establecerse explícitamente.
IE parecía dejar la conexión abierta al servidor, eventualmente se agotó el tiempo de espera y ''anuló'' la solicitud; a pesar de recibir el contenido y otros encabezados.
Quizás hay un problema con la forma en que IE maneja los encabezados en las publicaciones.
La actualización de la aplicación web para devolver correctamente el código de estado solucionó el problema.
¡Espero que esto ayude a alguien!
[SOLUCIONADO]
Solo observé este error hoy. para mí, el código de error fue diferente.
SCRIPT7002: XMLHttpRequest: error de red 0x2efd, no se pudo completar la operación debido al error 00002efd.
Estaba ocurriendo al azar y no todo el tiempo. pero lo que noto es, si se trata de llamadas ajax subsiguientes ... entonces pongo un retraso de 5 segundos entre las llamadas ajax y se resuelve.