ajax學習心得

http:是計算機通過網絡進行通信的規(guī)則,去和web服務區(qū)請求信息和服務,是一種無狀態(tài)協(xié)議(不保留持久的連接,沒有記憶)

完整的HTTP請求過程(七步):

1.建立TCP連接

2.web瀏覽器向服務器發(fā)送請求命令

3.Web瀏覽器發(fā)送請求頭信息

4.web服務器應答

5.web服務器發(fā)送應答頭信息

6.web服務器向瀏覽器發(fā)送數據

7.web服務器關閉tcp連接

HTTP請求一般由四部分組成:

1.HTTP請求的方法或動作,比如是GET還是POST請求

2.正在請求的URL,

3.請求頭,包含一些客戶端環(huán)境信息,身份驗證信息等

4.請求體,也就是請求正文,請求正文中可以包含客戶提交的查詢字符串信息,表單信息等等

請求頭和請求體之間有一行空行

GET請求:一般用于信息獲?。ú皇切薷男畔ⅲ糜诓樵儯?/p>

使用url傳遞參數(對于任何人都是可見的,變量名和值都顯示在URL中)

對所發(fā)送信息的數量也有限制,一般在2000個字符

(是默認的請求方法)

(冪等)

POST:一般用于修改服務器上的資源(用來從表單發(fā)送一些數據,并不在URL中顯示,對于其他人是不可見的,變量名和值存在請求體中,如果被工具攔截就另說了)

對所發(fā)送信息的數量無限制

HTTP響應由三部分組成:

1、一個數字和文字組成的狀態(tài)碼,用來顯示請求是成功還是失敗

2.響應頭,響應頭也和請求頭一樣包含許多有用的信息,例如服務器類型,日期時間,內容類型和長度等,

3.響應體,也就是響應正文

HTTP狀態(tài)碼由3為數字構成,其中首位數字定義了狀態(tài)碼的類型:

1XX:信息類,表示收到web瀏覽器請求,正在進一步的處理中

2XX:成功,表示用戶請求被正確接收,理解和處理例如:200 OK

3XX:重定向,表示請求沒成功,客戶必須采取進一步的動作

4XX:客戶端錯誤,表示客戶端提交的請求有錯誤,例如:404 NOT Found,意味著請求中所引用的文檔不存在

5XX:服務器錯誤,表示服務器不能完成對請求的處理:如500

好處:有助于提高WEB應用程序調試的效率和準確性

XMLHttpRequest發(fā)送請求

open(method,url,aysnc)

send(string)

request.open("POST","create.php",true);

request.setRequestHeader("Content-type","application/x-www-form-urlencoded");

request.send("name=王二狗&sex=男");

XMLHttpRequest取得響應

responseText:獲得字符串形式的響應數據

responseXML:獲得XML形式的響應數據

status和statusText:以數字和文本形式返回HTTP狀態(tài)碼

getAllResponseHeader():獲取所有的響應報頭

getResponseHeader():查詢響應中的某個字段的值

readyState屬性:

0:請求未初始化,open還沒有調用

1:服務器連接已建立,open已經調用了

2.請求已接收,也就是接收到頭信息了

3.請求處理中。也就是接收到響應主體了

4.請求已完成,且響應已就緒,也就是響應完成了

var request=new XMLHttpRequest();

request.open("GET","get.php",true);

request.send();

request.onreadystatechange=function(){

if(request.readyState == 4 && request.status===200){

//做一些事情 request.responseText

}

}

JSON:javascript對象表示法(javascript Object Notation)

JSON是存儲和交換文本信息的語法,類似xml,它采用鍵值對的方式來組織,易于人們閱讀和編寫,同事也易于機器解析和生成

JSON是獨立于語言的,也就是說不管什么語言,都可以解析json,只需要按照json 的規(guī)則來就行

json與xml比較:

json的長度和xml格式比起來很短小

json讀寫的速度更快

json可以使用javascript內建的方法直接進行解析,轉換成javascript對象,非常方便

JQuery.ajax([settings])

type:類型,'POST'或'GET',默認為'GET'

url:發(fā)送請求的地址

data:是一個對象,連同請求發(fā)送到服務器的數據

dataType:預期服務器返回的數據類型,如果不指定,JQ將自動根據HTTP包MIME信息來智能判斷,一般我們采用json格式,可以設置為‘json’

success:是一個方法,請求成功后的回調函數。傳入返回后的數據,以及包含成功代碼的字符串

error:是一個方法,請求失敗時調用此函數,傳入xmlhttprequest對象

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...
    卡卡羅2017閱讀 136,628評論 19 139
  • 一、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,743評論 6 152
  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,569評論 0 7
  • 你我漸行漸遠,日漸生分。我想,如果不是有特別的理由,一定是我們都在維持著成年人的體面,給了各自無限幻想的空間而又不...
    陳小香閱讀 369評論 0 0
  • 親愛的小伙伴們,大家下午好。在開課之前呢,我想問大家一個問題,做微商最重要的是什么? 那就是心態(tài),心態(tài)決定狀態(tài),大...
    牧童紅豆店閱讀 224評論 0 0

友情鏈接更多精彩內容