Heim >Web-Frontend >js-Tutorial >Eine Zusammenfassung häufiger AJAX-Interviewfragen

Eine Zusammenfassung häufiger AJAX-Interviewfragen

coldplay.xixi
coldplay.xixinach vorne
2020-07-31 11:54:263024Durchsuche

Eine Zusammenfassung häufiger AJAX-Interviewfragen

[Ähnliche Themenempfehlungen: Ajax-Interviewfragen (2020)]

1 es bei der Arbeit? Mit dem Hintergrund interagieren? Können Sie dann über einige Parameter im gekapselten Ajax sprechen?

URL: Die Adresse zum Senden der Anfrage.

Typ: Anfragemethode (Post oder Get ) ist standardmäßig get.

async: Asynchrone Anfragen synchronisieren, StandardtrueAlle Anfragen sind asynchrone Anfragen.

Timeout: Timeout-Einstellung in Millisekunden

Daten: Die Anforderung ist Objekt oder String Typparameter, an den Server gesendete Daten

Cache : Der Standardwert ist true (wenn dataType script ist, lautet der Standardwert false) , auf false gesetzt, wird nicht vom Browser abgerufen Informationen im Cache anfordern.

dataType: Der Datentyp, der voraussichtlich vom Server zurückgegeben wird.

Die verfügbaren Typen sind wie folgt:

xml: Gibt XML zurück Dokumente können mit JQuery verarbeitet werden.

html: Gibt reine Text-HTML-Informationen zurück; enthält Skript Das Tag wird beim Einfügen von DOM ausgeführt.

Skript: Gibt Klartext-JavaScript-Code zurück. Ergebnisse werden nicht automatisch zwischengespeichert.

json: Gibt JSON-Daten zurück.

jsonp: JSONP-Format. Beim Aufrufen einer Funktion mit der Form JSONP, z. B. myurl?callback=?, JQueryDas letzte "?" wird automatisch durch den richtigen Funktionsnamen ersetzt, um die Rückruffunktion auszuführen.

text: Gibt eine einfache Textzeichenfolge zurück.

Erfolg: Die Rückruffunktion, die nach erfolgreicher Anfrage aufgerufen wird, hat zwei Parameter.

(1) wird vom Server zurückgegeben und gemäß den dataType-Parametern verarbeitet.

(2) Eine Zeichenfolge, die den Status beschreibt.

error: erfordert einen Parameter vom Typ Function, eine Funktion, die aufgerufen wird, wenn die Anfrage fehlschlägt. Diese Funktion hat 3 Parameter

(1) XMLHttpRequest Objekt

(2) Fehlermeldung

(3) Erfasstes Fehlerobjekt( Optional)

complete :function(XMLHttpRequest,status){ //Endgültige Ausführungsparameter nach Abschluss der Anfrage

[Themenempfehlung]: Fragen und Antworten zum Ajax-Interview 2020 (aktuell)

2.json-Daten Wenn Sie wissen, wie Sie sein Format verarbeiten, ist dies der Fall Gibt es ein festes Format? Wenn ich eine Anfrage zum Löschen eines Datenelements sende, woher weiß ich, dass das Löschen erfolgreich ist? Oder wo wird es nach dem Löschen angezeigt? .parse()

In JSON-Objekt konvertieren, es basierend auf den Daten analysieren und auf der Seite platzieren. Format:

{} und [] kombiniert mit gespleißt JSONStringSenden Sie eine Anfrage zum Löschen von Daten. Der Hintergrund gibt das Verarbeitungsergebnis zurück und das Frontend beurteilt anhand der Daten, ob die Verarbeitung erfolgreich ist zurückgegebenes Ergebnis und verarbeiten Sie dann die Seitenelemente.

3. Sind Sie schon einmal auf diese Situation gestoßen? Im IE-Browser haben sich die Hintergrundbilddaten geändert, aber der Client hat sich nicht geändert. Er forderte, dass die Cache-Methode

JQuery.ajax()

des Browsers auf cache auf false, die Anfrage wird nicht aus dem Browser-Cache geladen, oder verwenden Sie die

post

-Methode, um Anforderungsdaten werden nicht zwischengespeichert und die Daten werden jedes Mal erneut angefordert 4. Die Implementierungsidee der Registerkarte

Mauszeigerzeit, Aufruf Methode, übergebe

dies

, verbirgt den Inhalt aller Registerkarten teilweise, zeigt dies an und steuert die Anzeige 5. Die Implementierungsidee der Kaskade

Im Allgemeinen werden regionale Daten mithilfe zweidimensionaler Arrays gespeichert, die aus dem Hintergrund abgerufen und dann gespeichert werden

Suchen Sie entsprechend den ersten Optionen in einem Dropdown-Feld die entsprechenden zweidimensionalen Array-Daten und fügen Sie in der Schleife

neue Option() in das Dropdown-Feld ein 6. Karusselldiagramm Umsetzungsideen

Der erste:

Benennen Sie die Bilder der Reihe nach und verwenden Sie einen Timer um den Pfad der Bilder alle paar Sekunden zu ändern

Der zweite Typ:

Verwenden Sie die nahtlose Scroll-Technologie, um alle Bilder in das Bild zu verschieben Seite, und der Timer läuft

scrollen

Scrollen Sie, bestimmen Sie die Scrollstrecke und nehmen Sie den Rest (%) Die Bildbreite ist gleich auf 0, pausieren Sie den Timer, wie viele Sekunden bevor der Timer startet. 7. Sprechen Sie darüber, was Sie über Bootstrap verstehen

Bootstrap wurde auf Basis von HTML5 und CSS3 entwickelt, das sich in jQuery wurde personalisierter und humanisierter. Sie müssen dem Tag nur einen entsprechenden Klassennamen geben 🎜>BootstrapIhren eigenen, einzigartigen Website-Stil und seien Sie mit den meisten jQuery-Plug-ins kompatibel. 8. Der Unterschied zwischen AngularJS und JQ

JQ

Holen Sie es sich zuerst und verwenden Sie es dann. Angularjs

Direkt verwenden9. Der Unterschied zwischen JQmobile und JQ

jQuery Mobile 是创建移动 web 应用程序的框架。jQuery Mobile 适用于所有流行的智能手机和平板电脑。jQuery Mobile 使用 HTML5 和 CSS3 通过尽可能少的脚本对页面进行布局

(1 )

jQuery ist eine js-Bibliothek. Die bereitgestellten Hauptfunktionen sind Selektoren, Attributänderung, Ereignisbindung usw. (2) Die jQuery-Benutzeroberfläche basiert auf
jQuery und verwendet jQuery Erweiterbarkeit, entworfenes Plug-in. Stellt einige häufig verwendete Schnittstellenelemente bereit, z. B. Dialogfelder, Ziehverhalten, Größenänderungsverhalten usw. (3) jQuery selbst konzentriert sich auf den Hintergrund und verfügt nicht über eine schöne Benutzeroberfläche, während
jQuery UI die Mängel ergänzt Im Gegensatz zum ersteren bietet es eine wunderschöne Anzeigeoberfläche, die es den Menschen leichter macht, es zu akzeptieren. Es gibt sowohl eine kraftvolle Backstage als auch eine wunderschöne Frontstage. jQuery UI ist ein jQuery Plug-in, bezieht sich jedoch speziell auf die offizielle Wartung von jQuery Plug-in für die UI Richtung. 10. Welche Bibliotheken haben Sie in Ihrer Arbeit verwendet?

jQuery

11. (1) Blasensortierung, 60-Sekunden-Countdown, (2) Umgang mit den vom Hintergrund zurückgegebenen JSON-Daten, wenn die Seite mehr geladen wird li

1.

Doppelte Schleife, beginnend mit dem ersten Bit und Beurteilung der Größe jedes nachfolgenden Bits. Wenn die Bedingungen erfüllt sind, verwenden Sie das folgende Prinzip, um die Position zu ändernc = a;

a = b;

b = c;

2.

Verwenden Sie JSON.parse() , um den entsprechenden JSON Objekt, und füge li, füge die Daten ein. 12. Implementierungsidee für die Auswahl aller Beurteilen Sie beim Klicken auf das Kontrollkästchen „Alle auswählen“, ob

aktiviert ist

ist wahr oder falsch, ob es wahr ist, beweist, dass alle ausgewählt sind , Holen Sie sich alle entsprechenden Kontrollkästchen unten und ändern Sie aktiviert in wahr, andernfalls ändern Sie es in falsch.

13.有一个输入框,只允许输入数字或字母,如果输入不合法则将输入框的边框变为红色,写代码

       var reg =/^[a-zA-Z0-9]+$/;
       if(!reg.text(输入框取出的value)){
              input.style.border= “red”;
};

14.有一个数组a=[1,2,3],如果数字a中包含1,则将数组内容复制一遍变为[1,2,3,1,2,3],写代码

       for(var i = 0;i<a.length;i++){
              if(a[i] ==1){
                     a.concat(a);
                     break;
}
}15.写一个函数,用于生产随机密码,传入的参数为密码的长度,返回生产的随机密码,要求生成的随机密码必须含有大写字母、小写字母和数字
var padArr = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9"];var padStr = "";function asd(length){
    for(var i = 0 ; i3a240317e75d0ba58009f06f969d5174.<span style="color:#0000FF;background:#FFFFFF;">Daten aktualisieren, ohne sie zu aktualisieren. </span><span style="color:#333333;"><br></span><span style="color:#FF0000;background:#FFFFFF;">AJAX</span><span style="color:#FF0000;background:#FFFFFF;">Der größte Vorteil besteht darin, dass es mit dem Server kommunizieren kann, um Daten zu verwalten, ohne die gesamte Seite zu aktualisieren. Dies ermöglicht es </span><span style="color:#FF0000;background:#FFFFFF;">Webanwendungen</span><span style="color:#FF0000;background:#FFFFFF;">, schneller auf Benutzerinteraktionen zu reagieren und das Senden unveränderter Informationen über das Netzwerk zu vermeiden, was die Wartezeit des Benutzers verkürzt und ein sehr gutes Benutzererlebnis bietet. </span><span style="color:#FF0000;"><br></span><span style="color:#0000FF;background:#FFFFFF;">2cc198a1d5eb0d3eb508d858c9f5cbdb.</span><span style="color:#0000FF;background:#FFFFFF;">Asynchron mit dem Server kommunizieren. </span><span style="color:#333333;"><br></span><span style="color:#FF0000;background:#FFFFFF;">AJAX</span><span style="color:#FF0000;background:#FFFFFF;">Verwendet eine asynchrone Methode zur Kommunikation mit dem Server, ohne den Betrieb des Benutzers zu unterbrechen, und verfügt über eine schnellere Reaktionsfähigkeit. Die Kommunikation zwischen </span><span style="color:#FF0000;background:#FFFFFF;">Browser</span><span style="color:#FF0000;background:#FFFFFF;"> und </span><span style="color:#FF0000;background:#FFFFFF;">Server</span><span style="color:#FF0000;background:#FFFFFF;"> wurde optimiert, wodurch unnötige Datenübertragung, Zeit und Datenverkehr im Netzwerk reduziert wurden. </span><span style="color:#333333;"><br></span><span style="color:#0000FF;background:#FFFFFF;">5bdf4c78156c7953567bb5a0aef2fc53.</span><span style="color:#0000FF;background:#FFFFFF;">Front-End- und Back-End-Lastausgleich. </span><span style="color:#333333;"><br></span><span style="color:#FF0000;background:#FFFFFF;">AJAX</span><span style="color:#FF0000;background:#FFFFFF;"> kann einen Teil der Arbeit, die zuvor vom Server belastet wurde, auf den Client übertragen und dabei die ungenutzte Kapazität des Clients für die Verarbeitung nutzen, wodurch die Arbeit reduziert wird Belastung des Servers und der Bandbreite, wodurch Platz und Kosten für die Breitbandmiete gespart werden. Und um die Belastung des Servers zu reduzieren, lautet das Prinzip von </span><span style="color:#FF0000;background:#FFFFFF;">AJAX</span><span style="color:#FF0000;background:#FFFFFF;"> </span><span style="color:#FF0000;background:#FFFFFF;">„</span><span style="color:#FF0000;background:#FFFFFF;">Get data on Demand</span><span style="color:#FF0000;background:#FFFFFF;">“ </span><span style="color:#FF0000;background:#FFFFFF;">, wodurch die durch redundante Anfragen und Antworten auf dem Server verursachte Belastung minimiert und die Leistung der Website verbessert werden kann. </span><span style="color:#FF0000;"><br></span><span style="color:#0000FF;background:#FFFFFF;">23889872c2e8594e0f446a471a78ec4c.</span><span style="color:#0000FF;background:#FFFFFF;">Weitgehend unterstützt, basierend auf Standards. </span><span style="color:#333333;"><br></span><span style="color:#FF0000;background:#FFFFFF;">AJAX</span><span style="color:#FF0000;background:#FFFFFF;">Basierend auf standardisierter und weithin unterstützter Technologie ist es nicht erforderlich, Browser-Plug-Ins oder Applets herunterzuladen, es ist jedoch die Zustimmung des Kunden erforderlich </span><span style="color:#FF0000;background:#FFFFFF;">JavaScript</span><span style="color:#FF0000;background:#FFFFFF;"> wird im Browser ausgeführt. Mit zunehmender Reife von </span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;"> wurden auch einige Bibliotheken veröffentlicht, die die Verwendung von </span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;"> vereinfachen. Ebenso ist eine weitere Technologie zur Unterstützung der Programmierung entstanden, die alternative Funktionen für Benutzer bereitstellt, die </span><span style="color:#FF0000;background:#FFFFFF;">JavaScript</span><span style="color:#FF0000;background:#FFFFFF;"> nicht unterstützen. </span><span style="color:#333333;"><br></span><span style="color:#0000FF;background:#FFFFFF;">43ad812d3a971134e40facaca816c822.</span><span style="color:#0000FF;background:#FFFFFF;">Die Schnittstelle ist von der Anwendung getrennt. </span><span style="color:#333333;"><br></span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;"> trennt die Schnittstelle und die Anwendung im </span><span style="color:#FF0000;background:#FFFFFF;">WEB</span><span style="color:#FF0000;background:#FFFFFF;"> (es kann auch als Daten bezeichnet werden). und Präsentationstrennung) fördert die Arbeitsteilung und Zusammenarbeit, reduziert </span><span style="color:#FF0000;background:#FFFFFF;">WEB</span><span style="color:#FF0000;background:#FFFFFF;"> Anwendungsfehler, die durch die Änderung von Seiten durch nichttechnisches Personal verursacht werden, verbessert die Effizienz und ist besser für aktuelle Veröffentlichungssysteme geeignet . </span><p><strong><span style="color:#C00000;background:#FFFFFF;">Nachteile: </span></strong></p><p><span style="color:#0000FF;background:#FFFFFF;">f35d6e602fd7d0f0edfa6f7d103c1b57.AJAX</span><span style="color:#0000FF;background:#FFFFFF;"> beendet die Funktionen </span><span style="color:#0000FF;background:#FFFFFF;">Zurück</span><span style="color:#0000FF;background:#FFFFFF;"> und </span><span style="color:#0000FF;background:#FFFFFF;">Verlauf</span><span style="color:#0000FF;background:#FFFFFF;"> ist ein Bruch der Browsermechanismen. </span><span style="color:#333333;"><br></span><span style="color:#FF0000;background:#FFFFFF;">Im Falle einer dynamischen Aktualisierung der Seite kann der Benutzer nicht zum vorherigen Seitenstatus zurückkehren, da sich der Browser nur an die statische Seite im Verlauf erinnern kann. Der Unterschied zwischen einer Seite, die vollständig gelesen wurde, und einer Seite, die dynamisch geändert wurde, ist sehr subtil; Benutzer erwarten oft, dass durch Klicken auf die Schaltfläche „Zurück“ der vorherige Vorgang abgebrochen wird, aber in </span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;">In der Bewerbung wird dies nicht möglich sein. </span><span style="color:#FF0000;"><br></span><span style="color:#FF0000;background:#FFFFFF;">Der Zurück-Button ist ein wichtiges Merkmal einer Standard-</span><span style="color:#FF0000;background:#FFFFFF;">Webseite</span><span style="color:#FF0000;background:#FFFFFF;">, kann aber nicht mit </span> js<span style="color:#FF0000;background:#FFFFFF;"></span>Tolle Zusammenarbeit. Dies ist ein ernstes Problem, das durch <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax<span style="color:#FF0000;background:#FFFFFF;"></span> verursacht wird, da Benutzer oft hoffen, den vorherigen Vorgang durch Zurückkehren abzubrechen. Gibt es also eine Lösung für dieses Problem? Die Antwort lautet: Ja, wie diejenigen, die <span style="color:#FF0000;background:#FFFFFF;"></span>Gmail<span style="color:#FF0000;background:#FFFFFF;"></span> verwendet haben, wissen, verwendet <span style="color:#FF0000;background:#FFFFFF;"></span>Gmail<span style="color:#FF0000;background:#FFFFFF;"></span> <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax<span style="color:#FF0000;background:#FFFFFF;"></span>Die Technologie hat dieses Problem gelöst. Sie können zu <span style="color:#FF0000;background:#FFFFFF;"></span>Gmail<span style="color:#FF0000;background:#FFFFFF;"></span> zurückkehren, aber sie kann den Mechanismus von <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax<span style="color:#FF0000;background:#FFFFFF;"></span> nicht ändern Nur eine relativ dumme, aber effektive Methode. Das heißt, wenn der Benutzer auf die Schaltfläche „Zurück“ klickt, um auf den Verlauf zuzugreifen, wird ein versteckter <span style="color:#FF0000;background:#FFFFFF;"></span>IFRAME<span style="color:#FF0000;background:#FFFFFF;"></span> erstellt oder verwendet, um den Inhalt auf der Seite zu reproduzieren. ändern. (Wenn der Benutzer beispielsweise in <span style="color:#FF0000;background:#FFFFFF;"></span>Google Maps<span style="color:#FF0000;background:#FFFFFF;"></span> zurückklickt, sucht er in einem versteckten <span style="color:#FF0000;background:#FFFFFF;"></span>IFRAME<span style="color:#FF0000;background:#FFFFFF;"></span> und dann werden die Suchergebnisse angezeigt auf dem <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax<span style="color:#FF0000;background:#FFFFFF;"></span>-Element, um den Anwendungsstatus auf seinen dann aktuellen Status wiederherzustellen) <span style="color:#FF0000;background:#FFFFFF;"></span><span style="color:#FF0000;"><br></span> Allerdings, obwohl es so heißt Dieses Problem kann gelöst werden, aber die damit verbundenen Entwicklungskosten sind sehr hoch und stehen im Widerspruch zu der schnellen Entwicklung, die das <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax<span style="color:#FF0000;background:#FFFFFF;"></span>-Framework erfordert. Dies ist ein sehr ernstes Problem, das durch <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax<span style="color:#FF0000;background:#FFFFFF;"></span> verursacht wird. <span style="color:#FF0000;background:#FFFFFF;"></span><span style="color:#FF0000;"><br></span>Ein verwandter Punkt ist, dass die Verwendung dynamischer Seitenaktualisierungen es für Benutzer schwierig macht, einen bestimmten Status in den Favoriten zu speichern. Es wurden Lösungen für dieses Problem gefunden, von denen die meisten <span style="color:#FF0000;background:#FFFFFF;"></span>URL<span style="color:#FF0000;background:#FFFFFF;"></span>-Fragment-Identifikatoren (häufig Anker genannt, d. h. <span style="color:#FF0000;background:#FFFFFF;"></span>URL<span style="color:#FF0000;background:#FFFFFF;"></span> in <span style="color:#FF0000;background:#FFFFFF;">#</span><span style="color:#FF0000;background:#FFFFFF;">), um den Überblick zu behalten und dem Benutzer die Rückkehr zu einem bestimmten Anwendungsstatus zu ermöglichen. (Viele Browser erlauben </span><span style="color:#FF0000;background:#FFFFFF;">JavaScript</span><span style="color:#FF0000;background:#FFFFFF;">, Anker dynamisch zu aktualisieren, was es </span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;">-Anwendungen ermöglicht, Anker gleichzeitig mit dem angezeigten Inhalt zu aktualisieren. . ) Diese Lösungen lösen auch viele der Argumente, die die Zurück-Schaltfläche nicht unterstützen. </span><span style="color:#FF0000;background:#FFFFFF;"></span><span style="color:#0000FF;background:#FFFFFF;">2cc198a1d5eb0d3eb508d858c9f5cbdb.AJAX</span><span style="color:#0000FF;background:#FFFFFF;"> Sicherheitsprobleme. Die </span><span style="color:#333333;"><br></span><span style="color:#FF0000;background:#FFFFFF;">AJAX</span><span style="color:#FF0000;background:#FFFFFF;">-Technologie sorgt nicht nur für ein gutes Benutzererlebnis, sondern wirkt sich auch positiv auf die </span><span style="color:#FF0000;background:#FFFFFF;">IT</span> aus <span style="color:#FF0000;background:#FFFFFF;">Unternehmen Die </span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;">-Technologie bringt neue Sicherheitsbedrohungen mit sich und ist wie die Einrichtung eines direkten Kanals zu Unternehmensdaten. Dadurch können Entwickler unbeabsichtigt mehr Daten und Serverlogik offenlegen als zuvor. Die Logik von </span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;"> kann vor der clientseitigen Sicherheitsscan-Technologie verborgen werden, sodass Hacker neue Angriffe von Remote-Servern aus erstellen können. Darüber hinaus ist es bei </span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;"> auch schwierig, einige bekannte Sicherheitslücken zu vermeiden, wie z. B. Cross-Site-Scripting-Angriffe, </span><span style="color:#FF0000;background:#FFFFFF;">SQL</span><span style="color:#FF0000;background:#FFFFFF;">-Injection-Angriffe und </span>Anmeldeinformationen<span style="color:#FF0000;background:#FFFFFF;"></span> Sicherheitslücken usw. <span style="color:#FF0000;background:#FFFFFF;"></span><span style="color:#FF0000;"><br></span>5bdf4c78156c7953567bb5a0aef2fc53.<span style="color:#0000FF;background:#FFFFFF;"></span>Schwache Suchmaschinenunterstützung. <span style="color:#0000FF;background:#FFFFFF;"></span><span style="color:#333333;"><br></span>Die Unterstützung für Suchmaschinen ist relativ schwach. Bei unsachgemäßer Verwendung erhöht <span style="color:#FF0000;background:#FFFFFF;"></span>AJAX<span style="color:#FF0000;background:#FFFFFF;"></span> den Datenverkehr im Netzwerk und verringert dadurch die Leistung des gesamten Systems. <span style="color:#FF0000;background:#FFFFFF;"></span><span style="color:#FF0000;"><br></span>23889872c2e8594e0f446a471a78ec4c.<span style="color:#0000FF;background:#FFFFFF;"></span>Zerstören Sie den Ausnahmebehandlungsmechanismus des Programms. <span style="color:#0000FF;background:#FFFFFF;"></span><span style="color:#333333;"><br></span>Zumindest für den Moment, wie <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax.dll<span style="color:#FF0000;background:#FFFFFF;"></span>, <span style="color:#FF0000;background:#FFFFFF;"></span>Ajaxpro.dll<span style="color:#FF0000;background:#FFFFFF;"> </span>Diese <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax<span style="color:#FF0000;background:#FFFFFF;"></span>-Frameworks zerstören den Ausnahmemechanismus des Programms. Bezüglich dieses Problems bin ich während des Entwicklungsprozesses darauf gestoßen, aber nach Überprüfung gibt es im Internet fast keine relevante Einführung. Später habe ich ein Experiment durchgeführt und <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax<span style="color:#FF0000;background:#FFFFFF;"></span> und den traditionellen <span style="color:#FF0000;background:#FFFFFF;"></span>Formular<span style="color:#FF0000;background:#FFFFFF;"></span>-Übermittlungsmodus verwendet, um ein Datenelement zu löschen <span style="color:#FF0000;background:#FFFFFF;"></span> ...<span style="color:#FF0000;background:#FFFFFF;"></span> bringt große Schwierigkeiten für unser Debugging mit sich. <span style="color:#FF0000;background:#FFFFFF;"></span><span style="color:#333333;"><br></span>43ad812d3a971134e40facaca816c822.<span style="color:#0000FF;background:#FFFFFF;"></span> verstößt gegen die ursprüngliche Absicht von <span style="color:#0000FF;background:#FFFFFF;"></span>URL<span style="color:#0000FF;background:#FFFFFF;"></span> und Ressourcenpositionierung. <span style="color:#0000FF;background:#FFFFFF;"></span><span style="color:#333333;"><br></span>Zum Beispiel gebe ich Ihnen eine <span style="color:#FF0000;background:#FFFFFF;"></span>URL<span style="color:#FF0000;background:#FFFFFF;"></span>-Adresse, wenn <span style="color:#FF0000;background:#FFFFFF;"></span>Ajax<span style="color:#FF0000;background:#FFFFFF;"> Technologie, vielleicht sind das, was Sie unter dieser </span><span style="color:#FF0000;background:#FFFFFF;">URL</span><span style="color:#FF0000;background:#FFFFFF;">-Adresse sehen, und das, was ich unter dieser </span><span style="color:#FF0000;background:#FFFFFF;">URL</span><span style="color:#FF0000;background:#FFFFFF;">-Adresse sehe, unterschiedlich. Dies widerspricht der ursprünglichen Absicht der Ressourcenpositionierung. </span><span style="color:#FF0000;background:#FFFFFF;"></span><span style="color:#333333;"><br>efbfa0de8737dc86eae413541a49df20.AJAX</span><span style="color:#0000FF;background:#FFFFFF;"> unterstützt mobile Geräte nicht gut. </span><span style="color:#0000FF;background:#FFFFFF;"></span><span style="color:#FF0000;background:#FFFFFF;">Einige Handheld-Geräte (z. B. Mobiltelefone, </span><span style="color:#FF0000;background:#FFFFFF;">PDA</span><span style="color:#FF0000;background:#FFFFFF;"> usw.) unterstützen derzeit </span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;"> nicht. Wenn wir beispielsweise eine Website mit der </span><span style="color:#FF0000;background:#FFFFFF;">Ajax</span><span style="color:#FF0000;background:#FFFFFF;">-Technologie in einem mobilen Browser öffnen, wird dies derzeit nicht unterstützt. </span><span style="color:#FF0000;"><br></span><span style="color:#0000FF;background:#FFFFFF;">40107655ec554331c1c6222ab67a141c.</span><span style="color:#0000FF;background:#FFFFFF;">Der Client ist zu fett und zu viel Clientcode verursacht Entwicklungskosten. </span><span style="color:#333333;"><br></span><span style="color:#FF0000;background:#FFFFFF;">Komplex und fehleranfällig zu schreiben </span><span style="color:#FF0000;background:#FFFFFF;">; es gibt viele redundante Codes (Schichten umfassen </span><span style="color:#FF0000;background:#FFFFFF;">js</span><span style="color:#FF0000;background:#FFFFFF;">). Dateien Es ist ein häufiges Problem von </span><span style="color:#FF0000;background:#FFFFFF;">AJAX</span><span style="color:#FF0000;background:#FFFFFF;">, außerdem wird in der Vergangenheit viel serverseitiger Code jetzt auf dem Client abgelegt); es zerstört den ursprünglichen Zweck von </span><span style="color:#FF0000;background:#FFFFFF;">Web</span><span style="color:#FF0000;background:#FFFFFF;"> Es gibt Standards. </span><span style="background-color: rgb(255, 255, 255); color: rgb(255, 0, 0);"> </span></p><p>21. Wie viel wissen Sie über domänenübergreifende Anfragen? </p><p><span style="color:#FF0000;">Die Same-Origin-Richtlinie legt fest, dass es sich um eine domänenübergreifende Anfrage handelt, wenn der Domänenname, das Protokoll und der Port nicht mit dem Ort übereinstimmen, an dem die Anfrage initiiert wird, </span></p> <p><span style="color:#FF0000;">Manchmal müssen Sie eine domänenübergreifende Anforderungstechnologie verwenden, </span></p><p><span style="color:#FF0000;">1: </span></p><p><span style="color:#FF0000;"> </span><span style="color:#FF0000;">Verwenden Sie</span><span style="color:#FF0000;">JQuery</span><span style="color:#FF0000;">-Methode, verwenden Sie </span><span style="color:#FF0000;">JSONP</span><span style="color:#FF0000;">-Moduszugriff, </span><span style="color:#FF0000;">dataType</span><span style="color:#FF0000;"> : '</span><span style="color:#FF0000;">jsonp</span><span style="color:#FF0000;">' und übergeben Sie </span><span style="color:#FF0000;">callback=?</span><span style="color:#FF0000;"></span><span style="color:#FF0000;"> nach </span></p>url<p><span style="color:#FF0000;"> 🎜>Ein zufälliger Name der Rückruffunktion wird generiert, oder Sie können ihn selbst benennen. </span><span style="color:#FF0000;"></span></p>Der Hintergrund erhält den Wert von <p><span style="color:#FF0000;">Rückruf</span><span style="color:#FF0000;">, verbinden Sie ihn mit </span><span style="color:#FF0000;">() </span><span style="color:#FF0000;"> und geben Sie die Daten ein. Geben Sie </span><span style="color:#FF0000;">() </span><span style="color:#FF0000;"> ein, um zur Seite </span><span style="color:#FF0000;"></span></p> zurückzukehren. Dies entspricht dem Aufruf der Funktion <p><span style="color:#FF0000;"> </span><span style="color:#FF0000;">Name </span><span style="color:#FF0000;">(Daten)</span><span style="color:#FF0000;">. </span><span style="color:#FF0000;"></span></p>Zwei: <p><span style="color:#FF0000;"></span></p> <p><span style="color:#FF0000;">Verwenden Sie</span><span style="color:#FF0000;background:#F9F9F9;">js</span><span style="color:#FF0000;background:#F9F9F9;">Tag-Lademethode</span><span style="color:#FF0000;background:#F9F9F9;"></span></p> <p><span style="color:#FF0000;background:#F9F9F9;">Verwenden Sie das </span><span style="color:#FF0000;background:#F9F9F9;">script</span><span style="color:#FF0000;background:#F9F9F9;">-Tag </span><span style="color:#FF0000;background:#F9F9F9;"> src</span><span style="color:#FF0000;background:#F9F9F9;">, um zu schreiben, was Sie möchten Möchten Sie </span><span style="color:#FF0000;background:#F9F9F9;">URL</span><span style="color:#FF0000;background:#F9F9F9;"> anfordern und die Parameter nach der Adresse verbinden? </span><span style="color:#FF0000;background:#F9F9F9;">callback= </span><span style="color:#FF0000;background:#F9F9F9;">Funktionsname</span><span style="color:#FF0000;background:#F9F9F9;"></span></p> <p><span style="color:#FF0000;background:#F9F9F9;">Der Hintergrund erhält </span><span style="color:#FF0000;">callback</span><span style="color:#FF0000;"> Wert, mit </span><span style="color:#FF0000;">() </span><span style="color:#FF0000;"> verbinden, die Daten in </span><span style="color:#FF0000;">() </span><span style="color:#FF0000;"> eingeben, zur Seite zurückkehren, </span><span style="color:#FF0000;"> </span></p> entspricht dem Aufruf der Funktion <p><span style="color:#FF0000;">Funktion</span><span style="color:#FF0000;">Name</span><span style="color:#FF0000;">(Daten)</span><span style="color:#FF0000;"></span></p>Drei: <p><span style="color:#FF0000;"><p><span style="color:#FF0000;">       </span><span style="color:#FF0000;">后台直接开启同源策略的访问限制,设置响应头信息。</span></p>
<p><span style="color:#FF0000;">response.setHeader("Access-Control-Allow-Origin","*");</span></p>
<p>22.如何控制网页在网络传输中的数据量?</p>
<p><span style="color:#FF0000;">分页加载,瀑布流,限制每次加载的数据量。</span><span style="color:#00B0F0;">(??????</span><span style="color:#00B0F0;">不确定</span><span style="color:#00B0F0;">)</span></p>
<p>23.前端常规开发优化策略?</p>
<ul style="list-style-type: disc;">
<li><p><span style="color:#FF0000;">请减少</span><span style="color:#FF0000;">HTTP</span><span style="color:#FF0000;">请求</span></p></li>
<li><p><span style="color:#FF0000;">请正确理解</span><span style="color:#FF0000;"> Repaint </span><span style="color:#FF0000;">和</span><span style="color:#FF0000;"> Reflow</span></p></li>
<li><p><span style="color:#FF0000;">请减少对</span><span style="color:#FF0000;">DOM</span><span style="color:#FF0000;">的操作</span></p></li>
<li><p><span style="color:#FF0000;">使用</span><span style="color:#FF0000;">JSON</span><span style="color:#FF0000;">格式来进行数据交换</span></p></li>
<li><p><span style="color:#FF0000;">高效使用</span><span style="color:#FF0000;">HTML</span><span style="color:#FF0000;">标签和</span><span style="color:#FF0000;">CSS</span><span style="color:#FF0000;">样式</span></p></li>
<li><p><span style="color:#FF0000;">使用</span><span style="color:#FF0000;">CDN</span><span style="color:#FF0000;">加速(内容分发网络)</span></p></li>
<li><p><span style="color:#FF0000;">将</span><span style="color:#FF0000;">CSS</span><span style="color:#FF0000;">和</span><span style="color:#FF0000;">JS</span><span style="color:#FF0000;">放到外部文件中引用,</span><span style="color:#FF0000;">CSS</span><span style="color:#FF0000;">放头,</span><span style="color:#FF0000;">JS</span><span style="color:#FF0000;">放尾</span></p></li>
<li><p><span style="color:#FF0000;">精简</span><span style="color:#FF0000;">CSS</span><span style="color:#FF0000;">和</span><span style="color:#FF0000;">JS</span><span style="color:#FF0000;">文件(压缩)</span></p></li>
<li><p><span style="color:#FF0000;">压缩图片和使用图片</span><span style="color:#FF0000;">Sprite</span><span style="color:#FF0000;">技术</span></p></li>
<li><p><span style="color:#FF0000;">注意控制</span><span style="color:#FF0000;">Cookie</span><span style="color:#FF0000;">大小和污染</span></p></li>
</ul>
<p>24.为什么异步加载JS文件?加载方式?</p>
<p><span style="color:#FF0000;">平时常用的引入</span><span style="color:#FF0000;">JS</span><span style="color:#FF0000;">方式,是同步模式,又称阻塞模式,</span><span style="color:#FF0000;background:#FFFFFF;">会阻止浏览器的后续处理,停止了后续的解析,也就是说,浏览器在下载或执行该</span><span style="color:#FF0000;background:#FFFFFF;">js</span><span style="color:#FF0000;background:#FFFFFF;">代码块时,后面的标签不会被解析。</span></p>
<p><span style="color:#FF0000;">异步加载(</span><span style="color:#FF0000;">async</span><span style="color:#FF0000;">)</span><span style="color:#FF0000;">JS</span><span style="color:#FF0000;">文件,</span><span style="color:#FF0000;background:#FFFFFF;">允许页面内容异步加载,</span><span style="color:#FF0000;background:#FFFFFF;">仅适用于外部脚本。</span></p>
<p><span style="color:#FF0000;background:#FFFFFF;">延迟加载(</span><span style="color:#FF0000;background:#FFFFFF;">defer</span><span style="color:#FF0000;background:#FFFFFF;">)</span><span style="color:#FF0000;background:#FFFFFF;">属性规定是否对脚本执行进行延迟,直到页面加载为止。</span></p>
<p>25.如果对一个js对象进行深度拷贝?</p><pre class="brush:js;toolbar:false">varajaxTimeoutTest = $.ajax({
url:&#39;&#39;,  //请求的URL
timeout : 1000, //超时时间设置,单位毫秒
type : &#39;get&#39;,  //请求方式,get或post
data :{},  //请求所传参数,json格式
dataType:&#39;json&#39;,//返回的数据格式
success:function(data){ //请求成功的回调函数
alert("成功");
},
complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
if(status==&#39;timeout&#39;){//超时,status还有success,error等值的情况
  ajaxTimeoutTest.abort();//终止请求
  alert("超时");
}
}
});

26.JS中有哪些数据类型?

number boolean string underfind null

object function array

27.ajax交换模型?同步异步的区别?

  • 触发事件调用函数

  • 创建XMlHttpRequest 对象open连接,send发送后台服务器

  • 后台接收前端数据,根据业务需求访问数据库进行增删改查

  • 数据库返回后台程序所需要的数据

  • 后台拿到数据库数据,进行合理的处理,比如JSON串,返回给前端

  • 前端接收到后台的响应数据,进行解析,根据业务需求动态操作页面元素

28.如何添加HTML事件,三种。

1. 直接在html标签的属性上添加9bd932c2b6ec5985c154b9848f753cf2p94b3e26ee717c64999d7867364b1b4a3
2. 用dom的on...方法添加document.getElementById('p').onclick = function () {alert('p')};
3. 用事件监听addEventListener或attachEvent(IE)添加document.getElementById('p').addEventListener('click', function () {alert('p')}, false);

29.JS面向对象中继承的实现方式?

简单继承:

function A(x){
   this.x=x;
}
function B(x,y){
   this.tmpObj=A;
   this.tmpObj(x);
   delete this.tmpObj;
   this.y=y;
}

完美继承:

function AA(x){
    this.x = x;}AA.prototype.xxx = 2;function Obj(){
    AA.call(this,22);
    this.cc = 11;
    this.constructor = arguments.callee;
}Obj.prototype = new AA();var obj = new Obj();

30.编写一个方法,判断字符串是否是这样的组成,第一个必须是字母,最后一个必须是数字。

function checkStr(str){
       var diyige =str.subStr(0,1);
       var dierge =str.subStr(str.length-1,1);
var reg = /^[a-zA-Z]$/ 
if(reg.test(diyige) &&!isNAN(dierge)){
//第一个是字母,最后一个是数字
}
}

31.如何隐藏一个DOM元素?

Object.style.dispaly = “none”; || Object.style.visibility = “hidden”;

32.document.write,innerHTML和innertext区别是什么?

  • document.write只能重绘整个页面

  • innerHTML可以重绘页面的一部分(包含标签+文字)

  • innertext可以重绘页面的一部分(只包含文字)

33.字符串abcdefg把de换成12,b后面接le,写出JS。

var str = “abcdefg”;
str = str.replace(“de”,”12”);
str = str.replace(“b”,”b1e”);

或者

var str = “abcdefg”;
str = str.split(“de”,”12”);
var str1 =str.subString(0,str.indexOf(‘b’)+1);
var str2 =str.subString(str.indexOf(‘b’)+1);
str = str1+”1e”+str2;

34.判断每个字符出现的次数:hello,最后显示: h:1,e:1,l:2,o:1.

var str = “hello”;
var o = [];
for(var i = 0 ;i<str.length;i++){
if(str.indexOf(str[i]) == i){
o[str[i]] = str.split(str[i]).length-1;
}
}
console.log(o);

35.使用CSS3动画效果实现一个小球的来回滚动。

36.h5的canvas画板如何实现会旋转的地球仪效果?(说出思想)

37.如何使过长的字体自动隐藏?

text-overflow: 
hidden
;

38.一个H5+C3的鼠标悬停效果?

 

39.移动端跟PC端的js文件区别?

 

40.如何处理一些手机端的兼容性?

 

41.IE浏览器兼容性,你了解哪些,简单举例子。

addEventListener() || attachEvent()

42.谈谈你对框架的理解。

对功能进行封装,使用者直接调用,或对样式进行预设置,使用者直接起名字

43.如何实现跨域?具体怎么实现?

第一种:

JSONP,利用传递方法名的方式,告诉后台前端方法名是什么,后台取到后,在名称后面拼接(),把数据(DATA)放到小括号中,返回前端,相当于返回:方法名(data)到前端后就直接调用这个方法了。

$.get(“ULR?callback=?”,function(data){
console.log(data);
})

第二种:

前端正常Ajax访问,后台开启同源策略限制!

“Access-Control-Allow-Origin”,”*”

44.对后台语言了解几种,如果了解其中一种,举例说明一个?

45.与后台的交互,AJAX只是其中的一小部分,其他的知道吗?

46.在上一家公司的要上线作品的具体流程是什么?

前后台项目整合,测试,上线

47.手机端和PC端有什么区别,需要注意哪些方面?

本质上没有什么太大的区别,需要注意一些浏览器的兼容问题。

48.用JQ完整的写出AJAX与后台交互的方法。 

$.get(“url”,function(data){
 
});
 
$.post(“url”,{data},function(data){
 
});
 
$.ajax({
url:””,
......
.....
....
});

49.编写一段jq的方法扩展。

50.ECMAScript6怎么写class. 为什么会出现class这种东西?

51.如何判断一个对象是否属于某个类?

var obj = new String("abc"); 
alert(obj instanceof String);

52.使用过哪些可视化控件?

53.什么是闭包?

简单理解成:定义在一个函数内部的函数

闭包本质:将函数内部和函数外部连接起来的一座桥梁

最大用处:

1、可以读取函数内部变量

2 besteht darin, diese Variablen im Gedächtnis zu behalten, das heißt, die Schließung kann dafür sorgen, dass ihre Geburtsumgebung immer existiert

54.eval kann eine bestimmte berechnen String, gibt es einen besseren Weg?

55. Was leistet Initialisierungs-CSS außer der Browserkompatibilität noch?

Empfohlene verwandte Artikel: Ajax-Video-Tutorial

Das obige ist der detaillierte Inhalt vonEine Zusammenfassung häufiger AJAX-Interviewfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen