Heim  >  Artikel  >  Backend-Entwicklung  >  Javascript – Ajax-Asynchronproblem

Javascript – Ajax-Asynchronproblem

WBOY
WBOYOriginal
2016-08-04 09:19:55913Durchsuche

Javascript – Ajax-Asynchronproblem

Entschuldigung, ist die Rückruffunktion in ajax 返回data再执行函数里面的代码 oder 不等data返回就直接执行函数里面的代码?

Wenn es die zweite Situation ist, wie kann man die durch Asynchronität verursachten Probleme vermeiden?

Antwortinhalt:

Javascript – Ajax-Asynchronproblem

Entschuldigung, ist die Rückruffunktion in ajax 返回data再执行函数里面的代码 oder 不等data返回就直接执行函数里面的代码?

Wenn es die zweite Situation ist, wie kann man die durch Asynchronität verursachten Probleme vermeiden?

Die Erfolgsrückruffunktion ist eine Funktion, die ausgeführt wird, nachdem die Daten erfolgreich zurückgegeben wurden. Dies bedeutet, dass sie erst ausgeführt wird, wenn die Daten abgerufen wurden.
Andere Situationen umfassen beforeSend (vor dem Senden) und Complete (nachdem). Anfrage ist abgeschlossen), Fehler (Anfragefehler) Rückruf

Was die durch Asynchronität verursachten Probleme betrifft, verstehe ich sie nicht ganz. Können Sie mir ein Beispiel geben?

Auf jeden Fall Daten zurückgeben und dann den Code in der Funktion ausführen = = Ohne Datenrückgabe ausführen = = Wartet es nicht auf einen Fehler?

steht für ajax (asynchrones JavaScript und XML). AJAX = Asynchronous JavaScript and XMLUm zunächst Ihre Frage zu beantworten: Im Erfolgsfall wird die Funktion erst ausgeführt, wenn die Daten erfolgreich zurückgegeben wurden. Wenn keine Antwort erfolgt, wird eine Weile gewartet. Dies ist normalerweise die Netzwerkverzögerungszeit. Sie können es auch selbst einstellen.

Lassen Sie uns kurz über das

des großartigen jquery Frameworks sprechen. ajaxNormalerweise verwende ich es so, in Form eines Namenswerts.

<code>$.ajax({name:value, name:value, ... })</code>
  • Boolescher Wert, der angibt, ob die Anfrage asynchron verarbeitet wird. Der Standardwert ist wahr. asyncStellen Sie es auf „false“ und deaktivieren Sie die asynchrone Funktion. Zu diesem Zeitpunkt führt eine Anforderung dazu, dass die Schnittstelle stark blockiert.

  • Funktion, die vor dem Senden der Anfrage ausgeführt werden muss. beforeSend(xhr)

  • cache Boolescher Wert, der angibt, ob der Browser die angeforderte Seite zwischenspeichert. Der Standardwert ist wahr.

  • Funktion, die ausgeführt wird, wenn die Anfrage abgeschlossen ist (wird aufgerufen, nachdem die Anfrage erfolgreich war oder fehlschlägt, d. h. nach den Erfolgs- und Fehlerfunktionen). complete(xhr,status)

  • contentType Der Inhaltstyp, der beim Senden von Daten an den Server verwendet wird. Der Standardwert ist: „application/x-www-form-urlencoded“.

  • context gibt den „this“-Wert für alle AJAX-bezogenen Callback-Funktionen an.

  • Gibt die Daten an, die an den Server gesendet werden sollen. data

  • dataFilter(data,type) Funktion zur Verarbeitung von XMLHttpRequest-Rohantwortdaten.

  • Der Datentyp der erwarteten Serverantwort. dataType

  • Funktion, die ausgeführt wird, wenn die Anfrage fehlschlägt. error(xhr,status,error)

  • globaler boolescher Wert, der angibt, ob der globale AJAX-Ereignishandler für die Anfrage ausgelöst werden soll. Der Standardwert ist wahr.

  • ifModified Boolescher Wert, der angibt, ob die Anfrage nur dann erfolgreich ist, wenn sich die Antwort seit der letzten Anfrage geändert hat. Der Standardwert ist falsch.

  • jsonp Schreiben Sie die Zeichenfolge der Rückruffunktion in ein JSONP um.

  • jsonpCallback gibt den Namen der Callback-Funktion in einem JSONP an.

  • Passwort gibt das Passwort an, das in HTTP-Zugriffsauthentifizierungsanfragen verwendet wird.

  • processData Boolescher Wert, der angibt, ob die über die Anfrage gesendeten Daten in eine Abfragezeichenfolge konvertiert werden. Der Standardwert ist wahr.

  • scriptCharset gibt den angeforderten Zeichensatz an.

  • Funktion, die ausgeführt wird, wenn die Anfrage erfolgreich ist. success(result,status,xhr)

  • Legen Sie das lokale Anforderungszeitlimit (in Millisekunden) fest. timeout

  • traditioneller boolescher Wert, gibt an, ob der traditionelle Stil der Parameterserialisierung verwendet werden soll.

  • Gibt den Typ der Anfrage an (GET oder POST). type

  • Gibt die URL zum Senden der Anfrage an. Der Standardwert ist die aktuelle Seite. url

  • Benutzername gibt den Benutzernamen an, der in HTTP-Zugriffsauthentifizierungsanforderungen verwendet wird.

    Dies kann die Benutzeranmeldung plus Passwort simulieren.

  • xhr Funktion zum Erstellen von XMLHttpRequest-Objekten.

Der rote Teil ist der, den ich am häufigsten verwende.

Rufen Sie diese Erfolgsfunktion zurück, nachdem die von Ihnen angeforderte Schnittstelle erfolgreich mit Daten geantwortet hat. Solange Ihr Server dies also normal verarbeitet, sind die zurückgegebenen Daten die gewünschten Daten

Die Antwort auf die Frage wurde oben erwähnt, daher werde ich sie nicht wiederholen, sondern nur nach den Problemen der Asynchronität fragen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn