在JavaScript中使用ajax有兩個作用:
1.讓js去讀伺服器上面的資料.
2.無刷新的情況下讀取伺服器上面的資料,例如:驗證帳號和密碼是否正確等.
對於網路請求我們知道有Get 和Post兩種,它們之間的差別是什麼呢?
get方式:常見的表單提交方式:將值在url後面提交;?名字=值&名字=值格.
提交表單範例:
<form action="www.baidu.com " method="get" (默认是get方式)> 姓名:<input type="text" name="userName"></br> 密码:<input type="password" name="password"> <input type="submit" value="提交"> </from>
區別:
1.get方式是透過網址傳遞資料的,post是透過http中Content傳遞的.
2.get容量小,不適合傳遞大數據,(一般4k-10k),post方式容量相對大很多,一般伺服器可以達到2G容量.
3.對於太大的檔案,就不會走post,走控制.
4.get方式安全性差,post相對來說會好一點,一幫安全只能走https.
5.get方式是有快取的,post沒有快取. get更適合向伺服器取得資料,post較適合傳遞資料至伺服器,
在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("发送成功"); } }
POST方式:
var ajaxObj=new XMLHttpRequest(); ajaxObj.open("POST","../PHP/ajaxSubmitData.php"); ajaxObj.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // multipart/form-data 默认的以二进制方式传送 ajaxObj.send("data=我是post数据"); ajaxObj.onreadystatechange= function () if(ajaxObj.readyState===4&&ajaxObj.status===200){ alert("发送数据成功"); } }
ajax取得從伺服器傳回的資料是ajaxObj.responseText取得
ajax 給伺服器傳送資料: get post
get: url重寫(拼接) ---- 資料量小簡單資料不安全
post:send(資料) 請求體(頁面看不到) 資料量大簡單或複雜資料安全性
application/x-www-form-urlencoded表示表單預設以字串的形式傳送
multipart/form-data 表單資料以二進位流的方式傳送
ajaxObj.setRequestHeader其實就是修改請求標頭(請求封包)裡面的額Content-type值
以上是js中怎麼寫ajax的詳細內容。更多資訊請關注PHP中文網其他相關文章!