Heim > Web-Frontend > js-Tutorial > Häufige Ajax-Interviewfragen

Häufige Ajax-Interviewfragen

coldplay.xixi
Freigeben: 2020-07-31 13:16:48
nach vorne
2809 Leute haben es durchsucht

Häufige Ajax-Interviewfragen

1: Was ist Ajax? Was ist die Funktion von Ajax?

异步的javascript和xml  AJAX 是一种用于创建快速动态网页的技术。  ajax用来与后台交互
Nach dem Login kopieren

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

2: Es gibt mehrere Schritte für native JS-Ajax-Anfragen ? Was sind sie?

//创建 XMLHttpRequest 对象
var ajax = new XMLHttpRequest();
//规定请求的类型、URL 以及是否异步处理请求。
ajax.open('GET',url,true);
//发送信息至服务器时内容编码类型
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
//发送请求
ajax.send(null);  
//接受服务器响应数据
ajax.onreadystatechange = function () {    if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) { 
    }
};
Nach dem Login kopieren

3: JSON-String-Konvertierungssatz, JSON-Objekt, JSON-Objektkonvertierung, JSON-String

//字符串转对象
JSON.parse(json)eval('(' + jsonstr + ')')   
// 对象转字符串
JSON.stringify(json)
Nach dem Login kopieren

4: Wie viele Ajax-Anfragemethoden? Ihre Vor- und Nachteile?

Häufig verwendete Posten, Abrufen, Löschen. Copy, Head, Link usw. werden nicht häufig verwendet.

###代码上的区别
 1:get通过url传递参数
 2:post设置请求头  规定请求数据类型###使用上的区别
 1:post比get安全
 (因为post参数在请求体中。get参数在url上面)
 2:get传输速度比post快 根据传参决定的。
 (post通过请求体传参,后台通过数据流接收。速度稍微慢一些。而get通过url传参可以直接获取)
 3:post传输文件大理论没有限制  get传输文件小大概7-8k ie4k左右
 4:get获取数据	post上传数据
 (上传的数据比较多  而且上传数据都是重要数据。所以不论在安全性还是数据量级 post是最好的选择)
Nach dem Login kopieren

5: Welche Situation führt zu domänenübergreifenden Problemen?

Origin-Richtlinieneinschränkungen Unterschiedliche Quellen führen zu domänenübergreifenden Problemen. Wenn eine der folgenden Situationen unterschiedlich ist, stammen sie alle aus unterschiedlichen Quellen.

http://www.baidu.com/8080/index.html

http://协议不同
www子域名不同
baidu.com主域名不同
8080端口号不同
www.baidu.comip地址和网址不同

6: Was sind die domänenübergreifenden Lösungen?

1: JSONP kann nur domänenübergreifend (am häufigsten gefragt) lösen

  • Prinzip: Erstellen Sie dynamisch ein Skript-Tag. Die Verwendung des src-Attributs des Skript-Tags wird nicht durch die Same-Origin-Richtlinie eingeschränkt. Weil nicht alle src-Attribute und href-Attribute durch dieselbe Ursprungsrichtlinie eingeschränkt sind. Kann Serverdateninhalte von Drittanbietern anfordern.
  • Schritte:
  1. Erstellen Sie ein Skript-Tag
  2. Das src-Attribut des Skripts legt die Schnittstellenadresse fest
  3. Schnittstellenparameter müssen einen benutzerdefinierten Funktionsnamen mitbringen, sonst kann das Backend keine Daten zurückgeben.
  4. Erhalten Sie Hintergrundrückgabedaten durch Definieren eines Funktionsnamens
//去创建一个script标签
var  script = document.createElement("script");
//script的src属性设置接口地址 并带一个callback回调函数名称
script.src = "http://127.0.0.1:8888/index.php?callback=jsonpCallback";
//插入到页面
document.head.appendChild(script);
//通过定义函数名去接收后台返回数据function jsonpCallback(data){
    //注意  jsonp返回的数据是json对象可以直接使用
    //ajax  取得数据是json字符串需要转换成json对象才可以使用。
}
Nach dem Login kopieren

2: CORS: Cross-domain-Ressourcenfreigabe

  • Prinzip: Servereinstellungen Zugriff Nach dem Antwortheader -Control-Allow-OriginHTTP lässt der Browser domänenübergreifende Anfragen zu
  • Einschränkungen: Der Browser muss HTML5 unterstützen und kann POST, PUT und andere Methoden unterstützen. Es ist kompatibel mit ie9 und höher
需要后台设置
Access-Control-Allow-Origin: *              //允许所有域名访问,或者
Access-Control-Allow-Origin: http://a.com   //只允许所有域名访问
Nach dem Login kopieren

3: document.domain festlegen

  • Prinzip: Für Seiten unter demselben Hauptdomänennamen, aber unterschiedlich Unterdomänen können Sie document.domain so festlegen, dass sie zur gleichen Domäne werden
  • Einschränkungen: Dokumente in derselben Domäne bieten Interoperabilität zwischen Seiten und die Iframe-Seite muss geladen werden
// URL http://a.com/foo
var ifr = document.createElement('iframe');
ifr.src = 'http://b.a.com/bar'; 
ifr.onload = function(){
    var ifrdoc = ifr.contentDocument || ifr.contentWindow.document;
    ifrdoc.getElementsById("foo").innerHTML);
};

ifr.style.display = 'none';
document.body.appendChild(ifr);
Nach dem Login kopieren

4: Verwenden Sie Apache für die Weiterleitung (Reverse-Proxy), um domänenübergreifend in dieselbe Domäne umzuwandeln

7: Was sind die üblichen HTTP-Statuscodes?

Eins: Statuscode beginnt mit 2

2xx (Erfolg) gibt einen Statuscode an, der die Anfrage erfolgreich verarbeitet hat
200 (成功) 服务器已成功处理了请求。 通常。
Nach dem Login kopieren

Zweit: Statuscode beginnt mit 3

3xx (weiterleiten) zeigt an, dass weitere Maßnahmen erforderlich sind, um die Anfrage abzuschließen. Typischerweise werden diese Statuscodes für Weiterleitungen verwendet.
304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
Nach dem Login kopieren

Drei: Statuscodes beginnend mit 4

4xx (Anfragefehler) Diese Statuscodes weisen darauf hin, dass die Anfrage möglicherweise fehlerhaft ist und die Verarbeitung durch den Server behindert
1:400 (错误请求) 服务器不理解请求的语法。
 
2:403 (禁止) 服务器拒绝请求。

3:404 (未找到) 服务器找不到请求的网页。
Nach dem Login kopieren

Vier: Statuscodes beginnend mit 5

5xx (Serverfehler) Diese Statuscodes weisen darauf hin, dass ein interner Fehler aufgetreten ist, während der Server versuchte, die Anfrage zu verarbeiten. Bei diesen Fehlern kann es sich um Fehler auf dem Server selbst und nicht um Anforderungsfehler handeln

Das obige ist der detaillierte Inhalt vonHäufige Ajax-Interviewfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage