<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 發送 GET 請求(模擬用戶登錄操作) 編寫頁面 ``` <span id="result"></span> <form> <input type="text" id="username" name="username" placeholder="用戶名"> <input type="text" id="password" name="username" placeholder="密碼"> <input id="login" type="button" value="登錄"> </form> ``` 編寫Ajax代碼 ``` window.onload = function(){ var loginEle = document.querySelector('#login'); loginEle.onclick = function(){ var username = document.getElementById('username').value; var password = document.getElementById('password').value; var params = 'username=' + username + '&password=' + password; var ajax = new XMLHttpRequest(); ajax.open('get', '/login?' + params, true); ajax.onreadystatechange = function () { if(ajax.readyState == 4 && ajax.status == 200){ // 代表后臺處理完畢且響應 200 // 執行對應邏輯 console.log(ajax.responseText); document.getElementById('result').innerText = ajax.responseText; } } ajax.send(); } } ``` 編寫后臺代碼 ``` const express = require('express'); const app = express(); app.use('/static', express.static(path.join(__dirname, 'static'))); app.get('/login', (req, res) => { console.log(req.query); if('zs' == req.query.username && '12345' == req.query.password) { res.send('登錄成功'); }else{ res.send('登錄失敗'); } }); app.listen(8888, () => { console.log('running...'); }); ``` ## GET 方式中文亂碼 部分瀏覽器在使用 AJAX 發送 GET 請求攜帶中文參數時,不會自動對 URL 進行編碼(根據 URL 的編碼規范,瀏覽器會把 URL 中的非 ASCII 字符按照某種編碼格式(chrome 是 utf-8)編碼成 byte 數組后,轉成 16 進制數字,然后在每個 16 進制數字前加上 % 分隔),就會出現亂碼現象。 ~~~ var params = encodeURI('username=' + useranme + '&password=' + password); // 參數放在路徑針對中文要編碼 ~~~ # 緩存問題 AJAX 能提高頁面載入的速度主要的原因是通過 AJAX 減少了重復數據的載入,也就是說在載入數據的同時將數據緩存到內存中,一旦數據被加載其中,只要我們沒有刷新頁面,這些數據就會一直被緩存在內存中,當我們提交的 URL 與歷史的 URL 一致時,就不需要提交給服務器,也就是不需要從服務器上面去獲取數據,雖然這樣降低了服務器的負載提高了用戶的體驗,但是我們不能獲取最新的數據。為了保證我們讀取的信息都是最新的,我們就需要禁止他的緩存功能。解決方式有以下幾種: * 在 URL 后面加上一個隨機數:Math.random()。 * 在 URL 后面加上時間搓:new Date().getTime()。 * 在使用 AJAX 發送請求前加上 ajax.setRequestHeader('If-Modified-Since', '0')。 * 在使用 AJAX 發送請求前加上 ajax.setRequestHeader('Cache-Control', 'no-cache')。 ``` ajax.open('get',?'/login?'?+?param?+?newDate(),?true); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看