GET與POST的區(qū)別:
1、GET 以明文的方式通過URL地址提交數(shù)據(jù),
-- 數(shù)據(jù)在URL中可以看到。
-- 提交的數(shù)據(jù)最多不超過2KB。
-- 安全性較低但效率比post方式高,
-- 適合提交數(shù)據(jù)量不大、不敏感、安全性不高的數(shù)據(jù)。比如:搜索、查詢等功能。
-- GET是寫操作,對(duì)數(shù)據(jù)不會(huì)產(chǎn)生任何影響
2、POST: 將用戶提交的信息封裝在 HTML的 HEADER 請(qǐng)求頭內(nèi),適合提交數(shù)據(jù)量大、信息也比較敏感、安全性高的用戶信息。比如:注冊(cè)、修改、上傳等功能。
-- POST是寫操作,修改服務(wù)器數(shù)據(jù)
Ajax:
Ajax = 異步 JavaScript 和 HTML/XML。
Ajax分為同步與異步:
同步:所有操作必須按照順序執(zhí)行,前面的沒完成后面的不能執(zhí)行,后面只能等待[ 心力憔悴~ ]
異步:所有的操作都可以一起執(zhí)行,完成操作后通過事件告訴調(diào)用者即可,這樣其他操作就不用一直等待[ happy~ ]
實(shí)現(xiàn)操作:
1、創(chuàng)建 XMLHttpResquest 對(duì)象 ,所有AJAX操作,都是通過一個(gè):XMLHttpResquest 對(duì)象來實(shí)現(xiàn)
//創(chuàng)建 XMLHttpRequest 對(duì)象的語法: variable=new XMLHttpRequest(); //老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 對(duì)象: variable=new ActiveXObject("Microsoft.XMLHTTP"); 創(chuàng)建 XMLHttpRequest 對(duì)象的語法:(兼容) var xmlhttp;if (window.XMLHttpRequest){ // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行代碼 xmlhttp=new XMLHttpRequest();}else{ // IE6, IE5 瀏覽器執(zhí)行代碼 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
2、向服務(wù)器發(fā)送請(qǐng)求
xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send();
open(method,url,async) 規(guī)定請(qǐng)求的類型、URL 以及是否異步處理請(qǐng)求。
method:請(qǐng)求的類型;GET 或 POST
url:文件在服務(wù)器上的位置
async:true(異步)或 false(同步)
send(string) 將請(qǐng)求發(fā)送到服務(wù)器
string:僅用于POST請(qǐng)求
3、服務(wù)器響應(yīng)
esponseText 獲得字符串形式的響應(yīng)數(shù)據(jù) 返回字符串形式的響應(yīng)
responseXML 獲得 XML 形式的響應(yīng)數(shù)據(jù) 來自服務(wù)器的響應(yīng)是 XML,而且需要作為 XML 對(duì)象進(jìn)行解析
4、onreadystatechange 事件
onreadystatechange 存儲(chǔ)函數(shù)(或函數(shù)名),每當(dāng) readyState 屬性改變時(shí),就會(huì)調(diào)用該函數(shù)。
readyState 存有 XMLHttpRequest 的狀態(tài)。從 0 到 4 發(fā)生變化。
0: 請(qǐng)求未初始化 1: 服務(wù)器連接已建立 2: 請(qǐng)求已接收 3: 請(qǐng)求處理中 4: 請(qǐng)求已完成,且響應(yīng)已就緒
status 200: "OK" 404: 未找到頁面
GET請(qǐng)求:
xmlhttp.open("GET","/try/ajax/demo_get.php",true); xmlhttp.open("GET","/try/ajax/demo_get2.php?fname=Henry&lname=Ford",true);//發(fā)情信息 xmlhttp.send();
POST請(qǐng)求:
xmlhttp.open("POST","/try/ajax/demo_post.php",true); xmlhttp.send(); //需要POST數(shù)據(jù),使用setRequestHeader()添加HTTP頭,在send()方法中規(guī)定發(fā)送的數(shù)據(jù) xmlhttp.open("POST","/try/ajax/demo_post2.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=Henry&lname=Ford");
setRequestHeader(header,value) 向請(qǐng)求添加 HTTP 頭。
header: 規(guī)定頭的名稱
value: 規(guī)定頭的值
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)