Werfen wir zunächst einen Blick auf die fünf Schritte asynchroner Objekte
Dies wird per Post erbeten,
//1.00Asynchrones Objekt erstellen
var xhr = new XMLHttpRequest();
//2.0
xhr.open("post", url,params, true);
//3.0 verwendet das Formdata-Attribut, um Parameter
zu übergeben
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//4.0 Rückruffunktion festlegen
xhr.onreadystatechange = function () {
If (xhr.readyState == 4 && xhr.status == 200) {
alarm(xhr.responseText);
}
}
//5.0 Übergabeparameter
xhr.send(params);
Kombinieren Sie die Get-Anfrage, um ein asynchrones Objektpaket zu erstellen
auf Anfrage
xhr.setRequestHeader("If-Modified-Since", "0"); soll den Cache leeren
Und Anfrage posten
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Es ist für die Übertragungsmethode
in
Der Typ kann auf drei Arten abgerufen werden, einschließlich application/x-www-form-urlencoded
var ajaxHelp = {
CreatXHR: Funktion () {
//创建异步对象
var xhr = new XMLHttpRequest();
return xhr;
},
//ajax的get请求
AjaxGet: Funktion (URL, CallBack) {
this.AJaxCommon("get", url, null, callBack);
},
//ajax的post请求
AjaxPost: Funktion (URL, Parameter, CallBack) {
this.AJaxCommon("post", url, params, callBack);
},
AJaxCommon: Funktion (Methode, URL, Parameter, CallBack) {
//1.0
var xhr = this.CreatXHR();
//2.0
xhr.open(method, url, true);
//3.0
if (method == "get") {
xhr.setRequestHeader("If-Modified-Since", "0");
} sonst {
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}
//4.0
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var datas = JSON.parse(xhr.responseText);
//执行回调函数
callBack(datas);
}
}
//5.0
xhr.send(params);
}
};
ps:在JQuery里面是有$.ajax 和$.get / $.Post 们底层也是这样的写的呢. JQuery就是为了解决各个浏览器的兼容性问题而已
Sie können die jQuery-Datei (XMLHttpRequest) herunterladen und verwenden.