這是在網上找到的一張圖,能比較簡潔明瞭地說明ajax的工作流程:
xmlhttprequest 是 ajax 的基礎。
它是什麼?
例項化xmlhttprequest物件
xmlhttprequest物件必須先進行例項化才能開始使用
舉個栗子:
;建立並傳送ajax請求
如需將請求傳送到伺服器,我們使用 xmlhttprequest 物件的 open() 和 send() 方法。
舉個栗子:
這裡我用wamp環境搭建乙個簡單的介面,然後對這個介面傳送ajax請求。
注意:html頁面必須放入伺服器的www目錄下,如果不在同乙個網域名稱下傳送請求,將會產生跨域問題,導致ajax請求無法傳送。
執行結果:
成功得到了伺服器的返回結果。
接下來對上面**片用到的xmlhttprequest方法進行逐一講解。
open()方法
傳送ajax請求的第一步就是使用open方法來設定請求的各種引數。
open() 方法共有三個要傳入的引數:請求型別(get或post)、請求位址、是否非同步。
其中第三個引數如果為true就是非同步,false就是同步,如果用同步的請求方式,瀏覽器必須等到請求得到響應才會執行下一步的操作,這個引數可以不傳值,預設引數為true。
send()方法
規定了請求的引數之後要用 send() 方法傳送這個請求。
當請求方法是post的時候,send()方法可以傳乙個字串型別的引數用於傳輸資料。
對返回資料的處理:onload和onreadystatechange
在執行了open和send之後,你的ajax請求就已經傳送成功了,但是我們不僅需要傳送請求,還需要獲得請求的響應以及對返回的資料進行處理,onload和onreadystatechange就是兩種處理方法。
onload
當發出請求並得到了響應的時候,就會觸發xmlhttprequest的onload事件,onload定義的處理方法就會被執行
舉個栗子:
xhr.onload =
function()
當收到了響應時,就會執行onload定義的方法體,在控制台列印出字串形式的響應資料。
用這種方式處理相應資料的好處就是簡單易用,但如果需要對響應資料進行更複雜的操作時,就要用onreadystatechange事件處理資料了。
onreadystatechange
這種方式可以在傳送ajax請求到獲得完整的響應中的各個階段進行不同的操作。
這裡要講講xmlhttprequest的readystate屬性和status屬性。
當readystate屬性發生變化,就會觸發onreadystatechange事件,我們可以定義該事件所執行的函式,以對返回的資料進行一些較為複雜的處理。
舉個栗子:
xhr.onreadystatechange =
function()
這裡用的還是上文的介面,響應的資料是純文字形式的,因此能正常獲取到資料。
是獲取不到的,因為這個介面給出來的就是純文字的響應資料。
ajax入門使用
jquery中文文件 ajax,用於對接前後端資料互動,如商品列表獲取,登入註冊時使用者資料插入或者獲取等 所有的 都可以測試,可以用phpstudy等整合工具,將 複製,然後找到安裝路徑下的www目錄,測試即可 1,官方為我們提供的form表單方式,如下,主要通過input的name屬性拿到inp...
Ajax快速入門
ajax的應用,實現了頁面的區域性重新整理,改善了客戶體驗 直接在js中呼叫遠端伺服器上的方法,就像方法在js中一樣 ajax使用的核心步驟 1.建立xmlhttprequest 物件 解釋 如果當前瀏覽器支援activexobject物件.則由activexobject來建立xmlrequest物...
Ajax 入門總結
由於eclipse rap用到了開源的ajax框架 qooxdoo,並且自定義ui需要用js表達,所以不得已,先學習一下ajax 進入ajax領域出現了幾個小問題 ajax技術必須了解,互動是服務端和客戶端的,而不是客戶端的互動,http localhost 上面的問題,很多老手也會犯的,呵呵 核心...