jquery ajax loading div funktioniert nicht im IE & Chrome
Dieser aufgefordert wurde viele, viele Male. Aber keine der Lösungen funktioniert bei mir im IE und Chrome.
Ich wollen im Grunde, um zu zeigen, ein Bild laden, während ajax-Aufruf gemacht wird.
Folgende ist, was ich versuche.
function ws(){
showL();
var res=$.ajax({url:'webservice.asp?service=LoadingTestSRV',async:false,cache:false}).responseText;
$('#dv').html(res);
hideL();
$('#complete').html('Done');
}
function showL()
{
$('#loading').show();
}
function hideL()
{
$('#loading').hide();
}
Folgenden ist der HTML -
<table cellspacing="1" cellpadding="1" border="1">
<tr><td>
<input type="button" value="ckick" id="btn" onClick="ws();">
<input type="button" value="clear" onClick="$('#dv,#complete').html('');">
</td><td>
<div id="dv"></div>
</td></tr><tr>
<td>Here<div id="loading" style="display:none" >Loading.................</div></td>
<td>final<div id="complete"></div></td></tr>
</table>
Nach oben js, ich habe versucht,
- ajaxStart und ajaxStop
- $.ajaxSetup
- $.ajax({...}).fertig(hideL)
Alle js-codes, die ich habe versucht, arbeiten in Firefox, aber keiner von Ihnen arbeiten in IE und Chrome.
Im Firefox, wird der code wie erwartet funktioniert. Be-div wird angezeigt, ajax aufgerufen wird, be-div wird ausgeblendet. Das ist genau das, was ich erwarte.
Im IE & Chrom -, be-div wird nicht angezeigt. Vielleicht wird Es ein-und ausgeblendet sehr schnell nach oder vor dem ajax-Aufruf.
Bitte lassen Sie mich wissen, was kann getan werden, damit der code funktioniert im IE & Chrom.
Es einen workaround wie ich gesehen habe die anderen Seiten zeigen, laden div. Oder vielleicht bin ich etwas dumm.
Sobald der code funktioniert in allen Browsern. Ich möchte eine generische Funktion (wie ein jQuery-plugin), um zu zeigen, einen be-div, wenn ajax aufgerufen wird.
- Können Sie uns sagen, was genau nicht funktioniert? Ist es zeigen, aber nicht versteckt oder es zeigt nicht an alle? Könnte
async:false
die Frage hier? - Ich habe aktualisiert die post vor. Be-div wird nicht angezeigt in IE & Chrom.
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen Sie dies:
Dadurch wird sichergestellt, dass ur DIV ausgeblendet ist nach dem ajax-Aufruf abgeschlossen
Dieser form hat für mich gearbeitet vorher: (ich habe in die langsam, damit Sie es sehen können, wenn es schnell ist)
Test Beispiel dieses hier:
http://jsfiddle.net/MarkSchultheiss/xgFkw/
Ich es auf diese Weise versuchen, wenn es hilft..
Gibt es ein problem in deinem ajax-Aufruf. Entfernen Sie die
async:false
von ajax-Aufruf und es funktioniert auch im IE8/9 und Chrome. Für andere Verlorene Seelen, bitte die oben genannten änderungen und versuchen Sie es erneut.einfach nur Hinzufügen async=true in der ajax-Funktion. Es funktioniert in chrome
Mein workaround für dieses Problem in Chrome, verwenden Sie ein timeout auf der AJAX-Aufruf von einer Millisekunde.
E. g.