Ich habe in der Vergangenheit einige jQuery gemacht, aber ich bin völlig festgefahren. Ich kenne die Vor- und Nachteile der Verwendung synchroner Ajax-Aufrufe, aber hier wird es erforderlich sein.
Die Remote-Seite wird geladen (mit Firebug gesteuert), es wird jedoch keine Rückgabe angezeigt.
Was sollte ich anders machen, damit meine Funktion ordnungsgemäß zurückkehrt?
function getRemote() {
var remote;
$.ajax({
type: "GET",
url: remote_url,
async: false,
success : function(data) {
remote = data;
}
});
return remote;
}
ajax
jquery
synchronous
Industriell
quelle
quelle
seems that the statement "[synchronous] will be required" indicates a lack of understanding of JavaScript engines, thus a poorly architected app.
Oder ein sehr gutes Verständnis: Wenn Sie einen AJAX-Anruf tätigen möchten, ist dieonbeforeunload
Verwendung einer synchronen Anforderung die empfohlene Methode (da das Browserfenster nicht mehr angezeigt wird, bevor die Anforderung anderweitig zurückgegeben wird). In irgendeiner Weise sagt er klar: "Ich weiß über die Vor- und Nachteile der Verwendung synchroner Ajax-Anrufe Bescheid" ... Vielleicht glauben Sie ihm einfach?Antworten:
Wenn Sie eine synchrone Anfrage stellen, sollte dies so sein
Beispiel - http://api.jquery.com/jQuery.ajax/#example-3
BITTE BEACHTEN SIE: Das Setzen der asynchronen Eigenschaft auf false ist veraltet und wird gerade entfernt ( Link ). Viele Browser, einschließlich Firefox und Chrome, haben bereits begonnen, eine Warnung in der Konsole zu drucken, wenn Sie Folgendes verwenden:
Chrom:
Feuerfuchs:
quelle
responseText
immer eine Zeichenfolge zurückgegeben wird. Wenn Sie JSON erwarten, schließen Sie$.ajax
mitJSON.parse
.<i>
und<b>
Tags. Meine Empfehlung: Verwenden Sie diese Funktionen weiterhin, damit sie nicht verschwinden.Sie verwenden die Ajax-Funktion falsch. Da es synchron ist, werden die Daten wie folgt inline zurückgegeben:
quelle
Wie weit ist diese URL entfernt? ist es aus der gleichen Domain? Der Code sieht in Ordnung aus
Versuche dies
quelle
remote_url
ist richtig definiert und der AJAX-Aufruf wird wie erwähnt richtig ausgeführt (mit Firebug gesteuert). Nur keine Rückkehr!quelle