Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung häufiger Fragen zur Großschreibung einiger allgemeiner Eigenschaften, Ereignisse und Methoden von Ajax-Objekten

Zusammenfassung häufiger Fragen zur Großschreibung einiger allgemeiner Eigenschaften, Ereignisse und Methoden von Ajax-Objekten

亚连
亚连Original
2018-05-24 15:05:481227Durchsuche

Ich war in letzter Zeit frei, also habe ich mir etwas Zeit genommen, um ein paar Dinge über die Ajax-Methode zu klären. In Projekten wird häufig festgestellt, dass viele Probleme im Ajax-Bereich durch die Unempfindlichkeit von Attributen, Methoden und Ereignissen verursacht werden, was letztendlich zu Problemen im Programmbetrieb führt. Hier stellen wir Ihnen einige häufige Probleme mit der Groß-/Kleinschreibung vor einige allgemeine Attribute, Ereignisse und Methoden von Ajax-Objekten Zusammenfassung

Ich war in letzter Zeit relativ frei, also habe ich mir etwas Zeit genommen, um ein paar Dinge über die Ajax-Methode zu klären. In Projekten stellen wir häufig fest, dass viele Probleme im Ajax-Abschnitt durch die Nichtberücksichtigung der Groß-/Kleinschreibung von Attributen, Methoden und Ereignissen verursacht werden, was letztendlich zu Problemen im Programmbetrieb führt.

 Im Folgenden sind einige allgemeine Attribute, Ereignisse und Methoden von Ajax-Objekten aufgeführt

 1) Zu den Attributen von Standard-Ajax-Objekten gehören readyState, Status, ResponseText, ResponseXML

2) Nicht standardmäßige Ajax-Objektattribute für IE-Browser umfassen ResponseBody und binären Datenstrom. Wenn die Browserkompatibilität nicht berücksichtigt wird, kann dieses Attribut + VBScript das Problem verstümmelter Zeichen sehr gut lösen.

Visual Basic-Code

Function Bytes2BStr(vin)'二进制转字串
   strreturn = ""
   for i = 1 to lenb(vin)
   thischarcode = ascb(midb(vin,i,1))
   if thischarcode < &h80 then
    strreturn = strreturn & chr(thischarcode)
   else
    nextcharcode = ascb(midb(vin,i+1,1))
    strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
    i = i + 1
   end if
   next
   Bytes2BStr = strreturn
End Function

 3) Ereignis onreadystatechange, Zustandsübergangsfunktion

4) Zu den Methoden gehören setRequestHeader, open und send, die zum Festlegen des Antwortheaders verwendet werden. Wenn die Übermittlungsmethode als POST angegeben ist, muss der Inhaltstyp auf application/x-www-form-urlencoded festgelegt werden. Wenn dieser Antwortheader nicht festgelegt ist, kann die angeforderte dynamische Seite den Wert nicht in Form von Schlüssel-Wert-Paaren erhalten, die übermittelten Daten können jedoch aus dem Binärstrom generiert werden.

Referenz

So erhalten Sie den übermittelten Inhalt, wenn Ajax als Beitrag angegeben ist, der Inhaltstyp jedoch nicht festgelegt oder der Schlüssel nicht angegeben ist

 Einfach falsche Fragen

1) Bei Objekten, die mit XMLHttpRequest erstellt wurden, einschließlich IE7+, achten Sie unbedingt auf Groß- und Kleinschreibung wird undefiniert sein. Beispielsweise wird „readyState“ als „readystate“ und „ResponseText“ als „Responsetext“ geschrieben.

2) Wenn für den IE-Browser zuerst das Activexobject beurteilt wird, wird Activexobject ausgeführt, um das XHR-Objekt, die Attribute, Ereignisse und Methoden zu erstellen, die mit acx erstellt wurden. Die Groß-/Kleinschreibung wird nicht beachtet

3) Bei der Erstellung mit XMLHttpRequest muss onreadystatechange ausschließlich aus Kleinbuchstaben bestehen, andernfalls entspricht dies der Zuweisung eines benutzerdefinierten Attributs zum xhr-Objekt anstelle der tatsächlichen Zustandsübergangsfunktion. Auf diese Weise wird der Rückruf niemals ausgeführt. Bei xhr-Objekten, die vom IE mit activexobject erstellt wurden, wird die Groß-/Kleinschreibung nicht beachtet

4) Wie bei den Punkten 2 und 3 muss beim Erstellen von XMLHttpRequest bei der aufrufenden Methode die Groß-/Kleinschreibung beachtet werden, andernfalls wird kein Fehler angezeigt und eine Meldung, dass die Methode nicht gefunden werden kann. Bei der Verwendung von activexobject unterscheidet der IE nicht zwischen Groß- und Kleinschreibung.

Besonders hervorzuheben ist, dass die open-Methode aufgerufen werden muss, bevor die setRequestHeader-Methode ausgeführt werden kann, sonst kommt es zu keinen Fehlern.

 Einige Vorschläge für handgeschriebenen Ajax-Code

1) Bei der Übermittlung zum Abrufen ist es nicht erforderlich, den Inhaltstyp festzulegen, es sei denn, die Anfrage ist etwas, das es sein muss Auf Inhaltstypgenerierung überprüft. Einige entsprechende Datenformatdateien. Der Webservice von asp.net überprüft beispielsweise den Inhaltstyp. Wenn der Inhaltstyp als application/json angegeben ist, wird die entsprechende JSON-Formatzeichenfolge generiert.

2) Wenn beim Senden für get keine Daten vorhanden sind, fügen Sie beim Aufruf der Sendemethode am besten eine Null als Parameter hinzu. xhr.send(null);

3) Vergessen Sie beim Absenden eines Beitrags nicht, die setRequestHeader-Methode aufzurufen, um den Inhaltstyp nach dem Aufruf auf application/x-www-form-urlencoded

festzulegen

4) Bei Verwendung von ResponseText, ResponseXML und ResponseBody [nur IE] muss das Statusattribut verwendet werden, wenn readyState==4, Statusstatus==200 [Online-Tests] oder Statusstatus==0 [ lokales Testen]

JavaScript-Code

 var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("microsft.xmlhttp");
   xhr.open(&#39;get&#39;, &#39;index.html&#39;, true);
   xhr.onreadystatechange = function () {
     if (4 == xhr.readyState) {
       if (200 == xhr.status || 0 == xhr.status) {
         //=========正常返回后的处理代码
       }
       else alert(&#39;动态页出问题了~~&#39;);
     }
   }
   xhr.send(null);

5) Wenn es asynchron ausgeführt wird, müssen Sie einen Status hinzufügen Übergangsfunktion und dann in readyState Wenn Bit 4, verwenden Sie das Attribut „responseText“ oder „responsXML“.
Wenn es synchron ausgeführt wird, können Sie nach dem Senden direkt das Attribut „responseText“ oder „responseXML“ verwenden. Es ist nicht erforderlich, die Statusübergangsfunktion „onreadystatechange“ hinzuzufügen. Wenn jedoch die Netzwerkgeschwindigkeit während der Synchronisierung langsam ist, kann es leicht dazu kommen, dass der Browser einfriert und die Benutzererfahrung beeinträchtigt wird.

6) Am einfachsten ist es, stattdessen das JQuery-Framework zu verwenden.

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

Ajax sendet und empfängt Anfragen

Ajax-Beispielanalyse für asynchrones Laden von Bildern

Detaillierte Erläuterung des AJAX XMLHttpRequest-Objekts

Das obige ist der detaillierte Inhalt vonZusammenfassung häufiger Fragen zur Großschreibung einiger allgemeiner Eigenschaften, Ereignisse und Methoden von Ajax-Objekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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