自己動手封裝乙個xmlhttprequest, 相容低版本瀏覽器,自動檢測post與get 型別請求,自動引數拼接,引數型別辨別
>
>
charset
="utf-8"
>
>
自定義xmlhttprequest實現前後端通訊title
>
head
>
>
type
="button"
onclick
="getdata()"
>
獲取資料button
>
>
function
getdata()
, error:
function
(err)}]
)}function
custrequest
(options)
, success:
function()
, error:
function()
};// detect type of optionsif(
typeof options ===
'string'
)else}if
(array.
isarray
(options)
)// merage options
for(
var key in options)
if(opt.url)
if(type ===
'get')if
(type ===
'post'
) xhr.
onload
=function()
opt.success.
call
(xhr, res)}}
}else}}
}}function
isjsonobj
(text)
\s]*$/
.test
(text.
replace
(/\\["\\\/bfnrtu]/g
,'@').
replace
(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[ee][+\-]?\d+)?/g
,']').
replace
(/(?:^|:|,)(?:\s*\[)+/g,''
)))else
}script
>
body
>
html
>
手動封裝AJAX
呼叫順序 呼叫f3函式,輸出2次33333,然後呼叫f2函式,輸出2次22222,呼叫f1函式,輸出5次1111111 f1的 執行完成後會回到被呼叫的位置接著執行 此時輸出3次222222,然後回到f2被呼叫的位置,輸出3次333 呼叫順序 呼叫getresult時傳入3個引數,第3個是乙個匿名函...
手動封裝on,emit,off
on 繫結 emit 觸發 off 解綁 存放事件 eventlist 1對多on eventname,callback handle n多個 1 判斷事件名稱是否存在 2 如果存在的情況下將cb存放在eventname這個陣列當中 3 如果不存在建立key值為eventname val值為陣列 1...
Ajax技術的核心XMLHttpRequest物件
以下簡稱 xhr 為伺服器傳送請求和解析伺服器響應提供了流暢的介面。能夠以非同步的方式從伺服器獲得更多資訊,意味著使用者單擊後不用重新整理頁面也可以取得新資料。也就是說,ajax技術中使用xhr物件取得新資料,再通過dom將新資料插入頁面中。xhr.open 要傳送的請求型別 請求的url 是否非同...