Estoy usando un cuadro de diálogo boostrap para obtener una lista con una cantidad. Después de enviar mi formulario y abrir el cuadro de diálogo para verificar si la cantidad se ha actualizado, parece que son datos obsoletos. Tengo una llamada con ajax al controlador y luego vuelvo a la base de datos para obtener información actualizada. Pero cuando configuro un punto de interrupción en el controlador (en el lado del servidor), nunca llega. SOLO se soluciona el problema cuando configuro un punto de interrupción para la función que llama ajax dentro de las herramientas de desarrollo y el depurador. Tampoco veo ningún error en la consola.
No tengo ningún problema con Firefox, solo con IE11... aquí está el código:
<script type="text/javascript"> function LocationModal() { $("#GetLocBtn").attr("disabled", "disabled"); var partNumber = $("#PartNum").val(); var Condition = 'Z'; var urlQry; var receiveIsChecked = document.getElementById('Receive').checked; var src = 'removed for security'; $.ajax({ type: "GET", url: src, dataType: "json", contentType: "application/json; charset=utf-8", data: { partNumber: partNumber, CCODE: Condition }, beforeSend: function () { }, success: function (data) { $("#LocationModalContainer").html(data.LocationModal); }, error: function (XMLHttpRequest, textStatus, errorThrown) { } }); };De hecho, el problema es que IE almacena en caché los resultados de las llamadas Ajax. Puede evitar ese comportamiento agregando cache: false a cada llamada, como descubrió, o configurándolo globalmente a través ajaxSetup antes de realizar cualquier llamada.
$.ajaxSetup({ cache: false });Se desaconseja el uso de ajaxSetup en la documentación de jQuery , pero podría ser una buena solución para usted si no usa ningún complemento que pueda depender del comportamiento normal y desea asegurarse rápidamente de que ninguna de sus propias llamadas ajax se almacene en caché.
Personalmente, tengo mis dudas sobre qué tan real es el riesgo de interferencia mencionado en la documentación cuando se trata de la configuración del caché, ya que básicamente solo haces que IE se comporte como otros navegadores.