JQuery-Ajax-call oft funktioniert nicht auf Safari 6
Mein Ajax-call ist ganz einfach wie folgt:
function ajax(reqUrl, params , callback) {
console.log("Request URL "+reqUrl);
var cond;
cond = $.ajax({
type: 'post',
url: reqUrl,
data: params,
error:function(){ alert("some error occurred") },
success: callback
});
console.log("Server response "+cond.readyState);
}
//Call it as
var url = "/getResult";
var params = {};
params.param1 = "test1";
params.param2 = "test2";
ajax(url, params, function(returnCallback) {
console.log(returnCallback);
alert("Success");
});
Das funktioniert in den meisten Fällen. Aber manchmal (etwa 1 mal in 3) es nicht zurück alles um Rückruf.
Fand ich viele Fragen und Antworten für Nicht arbeiten ajax im Safari, aber fein in chrome und FireFox. Mein problem ist von Ihnen Verschieden, denn es ist in Ordnung, die meiste Zeit (ich glaube nicht, dass es war nicht gut in der Regel, weil, wenn ich meinen browser aktualisieren, das kann dazu führen, dass mein ajax-Aufruf zu arbeiten).
Meine wichtigste Frage ist, warum funktioniert mein ajax-Aufruf manchmal nicht? Ich bekomme keine Fehler auf meiner JS-Konsole. Wenn diese situation, dass ich meinen browser aktualisieren, um meine ajax-Aufruf. Irgendwelche Ideen?
Update:
Fand ich, dass manchmal meine ajax call-Methode nicht rufen, weil Konsole.das Protokoll("Request-URL "+reqUrl); wurde nicht ausgeführt. Wenn ich nicht wollen zu aktualisieren mein browser, klickte ich viele Male auf meiner Seite den link zu produzieren Ergebnis. wird etwas zu Ende zu führen?
- Mein problem tritt nicht in chrome und firefox. Nur oft in der Safari :(. Ich möchte wirklich wissen, warum ?
- nicht definiert werden als Dupliziert, wenn Sie wirklich nicht wissen, was ich meine.
- Und ich beschrieb, wie ein Beispiel-codes. Lassen Sie sich nicht davon ausgehen, es ist wirklich voll code, die ich benutze.
- Ich fand man hat Safari nicht laden js-Dateien von Anker-links auf meinen Seiten.
- Wirklich, ich brauche zu aktualisieren, um reinvoke js-Dateien .. warum ?
- Dies scheint ein Safari-Problem. Siehe [dieser Beitrag][1] für eine "beforeSend'-Lösung. [1]: stackoverflow.com/questions/6491512/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Endlich habe ich den Fehler gefunden .. Safari laden nicht meine JavaScript-Dateien wieder, auch Cache deaktivieren. So habe ich alle meine JS-code in:
reload-mein JS-Dateien, wenn meine Seite fertig war. Jubeln !
Traf ich auch dieses problem.
Wenn ich in jedem code in
$(function() {})
, es funktionierte.Danach fand ich ich hatte definiert eine variable namens
key
, die das problem verursacht.Benennen Sie einfach, alle Sachen ausgeführt werden.
Bitte Testen Sie folgenden Code. es ist in Ordnung.
Dies ist die Verwendung für MVC-Anwendung.
Für Asp.net Anwendung :
wenn u immer noch die Frage, als bitte posten ur kompletten code hier. werde ich testen und bald Antworten
Dies scheint ein Safari-Problem. In dieser Beitrag es ist ein Vorschlag zum hinzufügen eines beforeSend, um Ihre ajax-request.
In Ihrem Fall: