手寫(xiě)原生ajax

重要參考
ajax與XMLHttpRequest
阮一峰 XMLHttpRequest Level 2 使用指南

  1. 手寫(xiě) 原生js實(shí)現(xiàn)ajax請(qǐng)求
const xhr = new XMLHttpRequest();
// 注意這里其實(shí)是可以用四三個(gè)參數(shù)的,
// true表示異步請(qǐng)求
// false表示同步請(qǐng)求,
xhr.open('GET', 'http://www.zhengshengliang.com:9999/'); 

xhr.onreadystatechange = () => {
    if (xhr.readyState === 4) { // 注意readyState大寫(xiě)
        console.log('請(qǐng)求都相應(yīng)完畢了');
        if (xhr.status >= 200 && xhr.status < 300) {
          console.log('相應(yīng)成功');
          const res = xhr.responseText; // 你才返回對(duì)象,你全家才返回對(duì)象 作為http的第四部分,返回的永遠(yuǎn)是字符串
          console.log(typeof res); // "string"
          
          let obj = window.JSON.parse(res);
        } else if (xhr.status >= 400) {
           console.log('相應(yīng)失敗');
        }
    }
}

xhr.ontimeout = (e) => {
  alert('請(qǐng)求超時(shí)了');
}

xhr.timeout = 3000; // 3000ms超時(shí)
xhr.send();

// 若為異步(true),則先打印1,后打印請(qǐng)求內(nèi)容
// 若為同步(false),則先打印請(qǐng)求內(nèi)容,后打印1
console.log(1); 

  1. json 和 js的區(qū)別
    json是一門(mén)語(yǔ)言,javascript也是一門(mén)語(yǔ)言(發(fā)明者Brendan Eich 布蘭登·艾克)。json(發(fā)明者道格拉斯·克羅克福特 Douglas Crockford)是抄襲JavaScript的。

  2. JSON沒(méi)有抄襲 js中的function 和 undefined

  3. JSON的字符串首尾必須是 ""

https://www.json.org/ 火車(chē)圖
"leon" 是json
null 是json
{'name': leon} 不是json 因?yàn)槭孜矝](méi)有雙引號(hào)

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

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 什么是跨域? 跨域一詞從字面意思看,就是跨域名嘛,但實(shí)際上跨域的范圍絕對(duì)不止那么狹隘。具體概念如下:只要協(xié)議...
    他在發(fā)呆閱讀 858評(píng)論 0 0
  • ios網(wǎng)絡(luò)請(qǐng)求,之前從來(lái)沒(méi)有接觸過(guò)iOS,最近要做一個(gè)app,做到網(wǎng)絡(luò)請(qǐng)求這(就是通過(guò)URL來(lái)請(qǐng)求數(shù)據(jù)),自己總結(jié)...
    我的小太陽(yáng)果果閱讀 332評(píng)論 1 0
  • 前言 關(guān)于前端跨域的解決方法的多種多樣實(shí)在讓人目不暇接。以前碰到一個(gè)公司面試的場(chǎng)景是這樣的,好幾個(gè)人一起在等待面試...
    andreaxiang閱讀 526評(píng)論 1 4
  • 我想你了,大叔 我總愛(ài)說(shuō)我是個(gè)成熟的女孩子,其實(shí)我一點(diǎn)也不成熟,我希望你有時(shí)間能陪我又有時(shí)間能打拼自己的事業(yè)。我其...
    琪琪巫閱讀 436評(píng)論 0 1
  • 膚淺的思考 你沒(méi)錢(qián),別人有錢(qián),你會(huì)怎么想?你沒(méi)錢(qián),馬云有錢(qián),你會(huì)怎么想?你沒(méi)錢(qián),你的同學(xué)、同事、朋友、或者親戚有錢(qián)...
    兔龍象閱讀 330評(píng)論 0 0

友情鏈接更多精彩內(nèi)容