ajax請求資料原理

2021-09-26 23:01:26 字數 1169 閱讀 4722

首先要了解什麼是ajax?

1. ajax就是非同步的xml和js;

注:ajax本身不支援跨域請求,需要在伺服器端處理。

工作原理

1. ajax的技術核心是 xmlhttprequest 物件;

2. ajax請求過程:建立xmlhttprequest、連線伺服器、傳送請求、伺服器做出響應、接收響應資料;

ajax和jsonp的區別

1.ajax是通過建立xmlhttprequest來獲取同源的資料;

2. 而jsonp是通過標籤來呼叫伺服器提供的js指令碼;

jsonp產生的原因

1. ajax直接請求普通檔案存在跨域無許可權訪問的問題(靜態頁、動態頁、web服務、wcf只要是跨域請求一律不准)

2. web的頁面上呼叫js檔案是不受跨域的影響(凡擁有src屬性的標籤都擁有跨域能力script img iframe)

3. 可以判斷 現在想通過純web端(activex控制項、服務端**、h5之websocket等方式不算)跨域訪問資料就只有一種可能,就是在遠端伺服器上設法把資料裝進js格式的檔案裡,供客戶度呼叫和進一步處理;

4. json的純字元數格式可以簡潔的描述複雜資料還被js原生支援

5. web客戶端通過與呼叫指令碼一樣的方式來呼叫跨域伺服器上動態生成的js格式檔案(字尾.json),伺服器之所以要動態生成json檔案目的把客戶端需要的資料裝入進去

6. 客戶端在對json檔案呼叫成功後獲得自己所需的資料剩下的就按照自己需求進行處理和展現,這種獲取遠端資料的方式非常像ajax其實並一樣

7. 為了方便客戶端使用資料逐漸形成非正式傳輸協議jsonp

其實,說到ajax就會面臨兩個不可避免的問題:

一是以何種格式來減緩資料;

二是如何解決跨域問題。

目前來說,所被推崇的方案是json作資料交換,jsonp來解決跨域問題;

json 與jsonp的區別

1. json與jsonp雖然看上去只有一字之差,但是實際上根本不是一回事;

2. json是一種key/value形式的資料格式;

3. jsonp則是一種跨域資料互動協議;

ajax請求資料

ajax 方法是jquery底層的ajax實現,通過http請求載入遠端資料。1 2345 6789 1011 1213 1415 1617 18 ajax async true,datatype json success function returneddata error function e...

ajax跨域請求資料

最近開始接觸ajax的跨域請求問題,相比網上說的一大堆,我這裡就說得比較淺顯了。關於為什麼要跨域這個問題,實際的需求是當 專案部署在乙個網域名稱上的時候,分域可以很好地解決 卡頓問題 擁有多台伺服器就另當別論 這種做法現在很常見,多看幾個 細心點就可以看出點門道。下面對比一下跨域之前的ajax請求與...

javascript之ajax請求資料demo

demo 如下 html的demo 如下 php的demo 如下 key post name stararr array 1 array 1.jpg 我是狗狗1號 6 array 6.jpg 我是狗狗2號 9 array 9.jpg 我是狗狗3號 下面是只返回乙個值時的 value stararr ...