Jquery .get() funktioniert nicht in Internet Explorer
Ich habe da ein problem mit, na was wohl, IE8. Der folgende code, der aus Gründen der übersichtlichkeit vereinfacht, funktioniert nicht bei allen:
alert('before get');
$.get(getActivityURL('ActionName',{
ts: new Date().getTime(), ...other params...}),
{cache:false;},
function (xml) {
alert("in get callback");
},'xml'); //End $.get()
alert('in after get');
Den getActivityUrl() gibt eine gültige URL mit request-Parametern.
Dieser funktioniert einwandfrei in FF und Chrome. Aber in IE8 funktioniert dies nicht einmal in den $.get () - callback. Ich bekomme die "vor" und "nach" - Benachrichtigungen, aber nicht den "in" - Warnung, und in der Tat, es passiert nichts und die Anfrage wird NICHT gesendet. Ich weiß wirklich nicht, was zu denken, hier.
Die Antwort-Header "Content-Type:application/xml; charset:iso-8859-1" bestätigt in FF.
EDIT: $.post() nicht funktioniert, entweder.
Genau diesem code funktioniert in jedem browser speichern, IE8. Die "getActivityUrl(...)" eine gültige URL zurückgibt.
InformationsquelleAutor Alessandro | 2011-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
IE ist berüchtigt für die Zwischenspeicherung. Sie müssen also sicherstellen, dass Sie nicht eine zwischengespeicherte Ergebnis.
Können Sie deaktivieren der Zwischenspeicherung weltweit durch die Einstellung der cache-Eigenschaft mit dem Wert false in der
ajaxStart
Methode.Oder Wenn Sie ausschließen wollen, dass das zwischengespeicherte Ergebnis in einen bestimmten ajax-call, hängen Sie eine eindeutige Zahl an das Ende der url. Sie können die
$.jetzt()
Methode, um eine eindeutige Nummer, die$.now()
Methode zurück, eine Zahl, die die aktuelle Zeit.Es ist!!! danke!!
InformationsquelleAutor Shyju
Ich bin mir nicht sicher, ob es ein problem ist, aber versuchen, Sie zu entfernen ";" in {cache:false}
IE mag es nicht, irgendwelche zusätzliche Sachen in {}, z.B.
{a:a,b:b,c:c,} funktioniert im FF aber nicht im IE
InformationsquelleAutor Ivan
Ich denke also, es ist ein Cache problem im IE.
So fügen Sie
Math.random()
man mehr parameter am Ende wie"&mathRandom="+Math.random();
Weil der IE erkennt dieselbe Anfrage wie die vorhergehende, so wird es geben, Daten aus dem cache anstelle von feuern Anfrage.
InformationsquelleAutor Lalit Bhudiya
Ist das richtig? Ich meine, $J... Sind Sie mit mehr als einem JS-framework oder so?
Ja, vergaß zu erwähnen, dass, ist es richtig "nicht-Konflikt" in der gesamten Anwendung. Na ja, ich habe nur bearbeitet die Frage.
InformationsquelleAutor atzu
haben u versucht:
Nur eine Vermutung
EDIT:
Fand ich einen interessanten thread, der könnte Ihnen helfen, check this out:
jQuery Ausgabe in Internet Explorer 8
funktioniert es im ie6 und 7? oder nicht in allen IE?
hey dude, ich Bearbeiten die post, prüfen Sie die link, die ich Hinzugefügt!
Dies versuchen .ajax-Variante, aber auch ein "Fehler" - parameter und überprüfen Sie, ob eine Fehlermeldung gibt.
InformationsquelleAutor Arthur Neves