溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在js中寫ajax

發(fā)布時(shí)間:2020-07-10 13:33:05 來源:億速云 閱讀:222 作者:Leah 欄目:web開發(fā)

如何在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)和密碼是否正確等.

如何在js中寫ajax

對(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í)。

向AI問一下細(xì)節(jié)

免責(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)容。

AI