read leer example ejemplos domain cross javascript php jquery json internet-explorer

javascript - example - leer json jquery



IE10/11 Error Ajax XHR-SCRIPT7002: XMLHttpRequest: Error de red 0x2ef3 (10)

Bueno, recibí el mismo error en IE 11. Tratando de describir lo que lo estaba causando lo más corto posible.

  • mostrando el sitio como http
  • el sitio hace una llamada ajax a https
  • el ssl fue autofirmado, pero el navegador aún no tenía excepciones.
  • Después de que se creó la excepción de certificado, todo funciona bien.

Espero que ayude a alguien.

He estado trabajando en este problema durante unos días y me he puesto en contacto con este foro porque siento que he agotado mis opciones. Tengo un formulario alojado en un sitio web de Drupal 7 y necesito enviar los valores del formulario a una URL externa. El formulario utiliza una solicitud POST sobre el protocolo HTTPS a través de jQuery.AJAX

  • La forma funciona bien en Chrome, Firefox y Safari
  • Recibo el siguiente error en la consola IE10 + (y la llamada ajax siempre va a la función de error cuando se usa IE10 +):

SCRIPT7002: XMLHttpRequest: error de red 0x2ef3, no se pudo completar la operación debido al error 00002ef3

He intentado lo siguiente:

  • agregando contentType:

    // causes all of the jQuery callbacks to error out "application/json; charset=utf-8",

  • intentar una llamada AJAx GET antes del POST real (como se sugiere en otro hilo SO)

  • agregado header( ''Content-Type: application/json; charset=utf-8'' ); a la solicitud

  • establecer crossDomain: true

Se han agregado los encabezados CORS apropiados y el código del formulario se pega a continuación:

$.ajax({ url: "[URL]", //the page to receive the form data crossDomain: true, type: "POST", data: dataString, //posting to API dataType: "json", //the data type the function should expect back from the server success: function(data) { if (data.response_status == "1") { //error for at least 1 field //display error message } else { //display thank you label next to input } } else { //All form fields completed successfully! Redirect user to Thank you confirmation page } }, error: function(jqXHR, textStatus, errorThrown) { alert("there is an error!"); console.log("in error section"); console.log("jqXHR: " + jqXHR); console.log("jqXHR.responseText: " + jqXHR.responseText); console.log("textStatus: " + textStatus); console.log("errorThrown: " + errorThrown); data = $.parseJSON(jqXHR.responseText); console.log("parseJSON data: " + data); } }); }); });

He leído SCRIPT7002: XMLHttpRequest: error de red 0x2ef3, no se pudo completar la operación debido al error 00002ef3

¡Cualquier orientación sería útil! GRACIAS


El OP proporcionó una captura WireShark que muestra que el servidor solicitó un certificado utilizando el mensaje HTTPS CertificateRequest y el cliente FIN inmediatamente la conexión.

Después de configurar el servidor para que no solicite un certificado de cliente, el problema desapareció.

Usar Fiddler también haría desaparecer el problema porque, a menos que lo configures para hacerlo, Fiddler nunca solicitará un certificado de cliente desde el navegador.

Me pregunto si solo el equipo cliente afectado tenía un certificado coincidente y / o si el indicador withCredentials en la solicitud CORS XHR es relevante en este escenario.


En mi entorno, primero copié / pegué algunos códigos antiguos para usar. Entonces el " contentType " era "application/json" .

Cuando descubrí que IE11 en Windows 8 NO funciona con una gran probabilidad, siempre y cuando haga clic en el botón Enviar con el mouse. Pero también descubrí que si presioné la tecla enter en mi teclado, funciona bien con IE11.

Tenga en cuenta que mis elementos de input y button envío se anidaron en un elemento de form .

Después de luchar por un tiempo, llegué a esta página, pero no resolvió mi problema, porque no sabía nada acerca de las tecnologías de back-end. Yo solo era un tipo de front-end con conocimiento limitado.

Luego probé muchas modificaciones una a una. De repente, los documentos API oficiales de jQuery me inspiraron. contentType parámetro " contentType " para que el " contentType " tome el valor predeterminado, que es "application/x-www-form-urlencoded; charset=UTF-8" . Entonces el problema está resuelto.

Espero que esto ayude


Estábamos viendo el mismo error en IE11 y Edge. Una solicitud jQuery AJAX arrojaba el error XMLHttpRequest: Network Error 0x2ef3, Could not complete the operation due to error 00002ef3. consistentemente después de exactamente 300s. (Chrome y Firefox estaban bien)

Resultó ser una configuración de tiempo de espera inactivo en nuestro equilibrador de carga (F5 en nuestro caso). Logramos diagnosticar el problema usando Fiddler, que resultó en un mensaje de error más útil en el navegador: Failed to load resource: the server responded with a status of 504 (Fiddler - Receive Failure) Tenga en cuenta que con Fiddler ejecutándose, vimos este error (después de 300 s) en todos los navegadores, incluidos Chrome y Firefox.


Estaba viendo este error al azar con IE 8 + 9 + 10 + 11 llamadas Ajax. Todos los demás navegadores no tuvieron el problema.

Supone que había una condición de carrera entre las conexiones KeepAlive. Estoy usando Apache 2.4.7.

Con la configuración predeterminada de Apache 2 en /etc/apache2/apache2.conf , pude reproducir el error sobre cada décima llamada Ajax:

KeepAlive On KeepAliveTimeout 5

Solución: cualquiera de las configuraciones

KeepAlive off

o

KeepAliveTimeout 1

resuelto el problema para mí Recomiendo a cualquiera que experimente el error 0x2ef3-Network que apague el KeepAlive en el servidor. Si el error desaparece, vuelva a encenderlo y pruebe con los valores de KeepAliveTimeout . También se pueden establecer en ms .

También hay una forma de desactivar KeepAlive solo para Internet Explorer.


Me enfrenté al mismo problema. Para mí, el problema parecía estar ocurriendo solo en IE11 a través de una llamada posterior, he estado usando el proveedor de $ AngularJS para realizar la llamada. Parece que esto es un error en IE, y es un problema de certificado. La información del certificado de seguridad no se carga correctamente cuando se realiza la llamada POST. Como solución alternativa, antes de realizar la llamada POST, realice una llamada GET para cargar el certificado correctamente. Eche un vistazo al siguiente código de ejemplo (está usando AngularJS)

$http({ method: "GET", url: "/api/DummyGet" }).success( $http({ method: "POST", url: "/api/PostCall", data: data }) );

Para obtener más información, puede consultar estos dos enlaces: http://jonnyreeves.co.uk/2013/making-xhr-request-to-https-domains-with-winjs/
- IE10 / IE11 cancela la solicitud de Ajax después de borrar el caché con el error "Error de red 0x2ef3"


Solo quiero dar mi opinión sobre cuál fue la causa raíz de este problema para mí.

Tenemos una aplicación Angular2, que está llamando a nuestra apéndice NodeJS REST. El resto de la API luego llama a otro servicio (creo que SOAP).

Descubrimos que nuestro servicio SOAP no tenía el punto final (?) En un solo entorno (funcionó en todos los demás lugares). Cuando la API NodeJS llamaba al servicio SOAP, el servicio soap devolvió un error que decía ''X no es una función''. Cuando se devolvió la respuesta de error a NodeJS, no tenía el manejo correcto de error / excepción, por lo que estaba matando por completo el servicio. Por lo tanto, la interfaz de usuario no estaba recibiendo una respuesta.


Tuve este mismo error en ASP.NET MVC y finalmente pude sortearlo. Estaba generando un par de cientos de formularios incrustados en la página con cada uno teniendo @ Html.AntiForgeryToken (). Creo que esto da como resultado la creación de una cookie en el lado del cliente. Potencialmente IE se estaba quedando sin espacio para las cookies (o algo, quién sabe con IE). Lo eliminé y mi problema desapareció.


Tuve este problema con una aplicación de IIS, una solicitud de publicación de AJAX que devolvió un error de JSON, que finalmente devolvió abortar, con el:

SCRIPT7002: XMLHttpRequest: Error de red 0x2ef3

error en la consola. En otros navegadores (Chrome, Firefox, Safari), la misma solicitud exacta de AJAX estaba bien.

La investigación adicional reveló que a la respuesta del servidor le faltaba el código de estado, en este caso debería haber sido un error interno de 500.

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, eventualmente la capa de red la cerró y ''abortó'' la solicitud; a pesar de recibir el contenido y otros encabezados.

La actualización de la aplicación web para devolver correctamente el código de estado solucionó el problema.

Quizás hay un problema con la forma en que IE maneja los encabezados en las publicaciones.

¡Espero que esto ayude a alguien!


Tuve una situación similar y después de mucha investigación, el problema fue diferente, pero quiero publicarlo aquí con la esperanza de que alguien lo encuentre útil buscando el mismo error:

Apache tuvo un tiempo de espera de conexión de 5 segundos. Internet Explorer 11 en Win 7 parecía ignorar el hecho de que ya no había sesiones activas, suponiendo que serían 60 segundos. Después de cambiar las configuraciones de Apache a un tiempo de espera de 60 segundos, mi problema se resolvió.