我們先來看看非同步物件五部曲
這是post請求的、
//1.00建立非同步物件
var xhr = new XMLHttpRequest();
//2.0
xhr.open("post", url,params, true);
//3.0將參數使用Formdata屬性傳遞
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//4.0設定回呼函數
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
}
//5.0傳遞參數
xhr.send(params);
結合get請求做一個非同步物件的封裝
get 請求中的
xhr.setRequestHeader("If-Modified-Since", "0"); 是為了清除快取
而post請求的
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
是為了傳輸方式
在
var ajaxHelp = {
CreateXHR: 函數 () {
//建立物件
var xhr = new XMLHttpRequest();
返回 xhr;
},
//ajax的get請求
AjaxGet: 函數 (url, 回呼) {
this.AJaxCommon("get", url, null, callBack);
},
//ajax的post請求
AjaxPost:函數(url、參數、callBack){
this.AJaxCommon("post", url, params, callBack);
},
AJaxCommon:函數(方法、url、參數、回呼){
//1.0
var xhr = this.CreatXHR();
//2.0
xhr.open(方法, url, true);
//3.0
if (方法==「取得」) {
xhr.setRequestHeader("If-Modified-Since", "0");
} 其他 {
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);
//執行回呼函數
回調(資料);
}
}
//5.0
xhr.send(params);
}
};
ps:在JQuery裡面有$.ajax 和$.get / $.Post 等非同步請求的方法的。以前的封裝就不用了。額。好扯。其實他們也是這麼寫的呢。 jQuery就是為了解決各個瀏覽器的相容性問題而已
以上是本人對於jQuery非同步物件(XMLHttpRequest)的理解,如有遺漏,麻煩聯絡我,補充上。

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)