您好,登錄后才能下訂單哦!
如何在js中寫ajax?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
在JavaScript中使用ajax有兩個(gè)作用:
1.讓js去讀服務(wù)器上面的數(shù)據(jù).
2.無刷新的情況下讀取服務(wù)器上面的數(shù)據(jù),例如:驗(yàn)證賬號(hào)和密碼是否正確等.
對(duì)于網(wǎng)絡(luò)請(qǐng)求我們知道有Get 和Post兩種,它們之間的區(qū)別是什么呢?
get方式:常見的表單提交方式:將值在url后面提交;?名字=值&名字=值格.
提交表單例子:
<form action="www.baidu.com " method="get" (默認(rèn)是get方式)> 姓名:<input type="text" name="userName"></br> 密碼:<input type="password" name="password"> <input type="submit" value="提交"> </from>
區(qū)別:
1.get方式是通過網(wǎng)址進(jìn)行傳遞數(shù)據(jù)的,post是通過http中Content進(jìn)行傳遞的.
2.get容量小,不適合傳遞大數(shù)據(jù),(一般4k-10k),post方式容量相對(duì)大很多,一般服務(wù)器可以達(dá)到2G容量.
3.對(duì)于太大的文件,就不會(huì)走post,走控件.
4.get方式安全性差,post相對(duì)來說會(huì)好一點(diǎn),一幫安全只能走h(yuǎn)ttps.
5.get方式是有緩存的,post沒有緩存. get更適合向服務(wù)器獲取數(shù)據(jù),post更適合向服務(wù)器傳遞數(shù)據(jù),
在JS中AJAX的兩種寫法:
GET方式:
var ajaxObj=new XMLHttpRequest(); ajaxObj.open("GET","../php/ajaxSubmitData.php?data=tody is wind"); ajaxObj.send() ajaxObj.onreadystatechange= function () { if(ajaxObj.readyState===4&&ajaxObj.status){ alert("發(fā)送成功"); } }
POST方式:
var ajaxObj=new XMLHttpRequest(); ajaxObj.open("POST","../PHP/ajaxSubmitData.php"); ajaxObj.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // multipart/form-data 默認(rèn)的以二進(jìn)制方式傳送 ajaxObj.send("data=我是post數(shù)據(jù)"); ajaxObj.onreadystatechange= function () if(ajaxObj.readyState===4&&ajaxObj.status===200){ alert("發(fā)送數(shù)據(jù)成功"); } }
ajax獲取從服務(wù)器返回的數(shù)據(jù)是 ajaxObj.responseText獲取
ajax 給服務(wù)器發(fā)送數(shù)據(jù): get post
get: url重寫(拼接) ---- 數(shù)據(jù)量小 簡(jiǎn)單數(shù)據(jù) 不安全
post:send(數(shù)據(jù)) 請(qǐng)求體(頁面看不到) 數(shù)據(jù)量大 簡(jiǎn)單或復(fù)雜數(shù)據(jù) 安全
application/x-www-form-urlencoded表示表單默認(rèn)以字符串的形式發(fā)送
multipart/form-data 表單數(shù)據(jù)以二進(jìn)制流的方式發(fā)送
ajaxObj.setRequestHeader其實(shí)就是修改請(qǐng)求頭(請(qǐng)求報(bào)文)里面的額Content-type值
關(guān)于如何在js中寫ajax問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。