黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 AJAX教程的內容

AJAX教程的內容

更新時間:2021-06-11 09:24:50 來源:動力節點 瀏覽1052次

Ajax能做什么

Ajax是一種異步請求數據的web開發技術,目前主要用于異步,大家都知道,瀏覽器主線程是單線程的,也就是一次只能干一件事,以Ajax就是讓瀏覽器當主線程完成后去干別的事情,比如發送請求,加載接口數據等等.這個技術通過XMLHttpRequest對象實現,具體的機制大家可以參考瀏覽器的時間環機制.

Ajax的應用

以前我們在開發的時候,沒有ajax,想要看另一個內容,只能讓瀏覽器跳轉到另一個頁面,重新加載.導致用戶體驗很不好,并且由于同一個網站很多內容都一樣,導致相同的內容被請求了多次,也浪費了寶貴的時間.有了Ajax,就是可以讓數據在需要時候在加載,比如我有一個展示數據的表格和提交數據的表單,我們可以在提交的時候利用Ajax在不刷新頁面的情況下提交到后臺,之后讓后臺給我們一個響應結果,我們可以直接替換到原始的標簽,這樣用戶就可以看到更新后的數據,對用戶的體驗頁非常好

Ajax使用

原生Ajax

    // 創建Ajax
    let xhr = new XMLHttpRequest();
    // 配置請求地址和請求方式
    xhr.open("get", "http://localhost:3000/jsonData");
    // 發送請求
    xhr.send();
    // 監聽事件 onload 接收完整的服務器響應數據
    xhr.onload = function () {
        console.log(xhr.responseText);
        // document.getElementsByTagName("h1")[0].innerHTML = xhr.responseText;
        // json字符串轉json對象
        let resText=JSON.parse(xhr.responseText);
        document.getElementsByTagName("h1")[0].innerHTML = resText.age;
    }

這個是原生最簡單的方式,其他的方式大家可以百度

目前因為使用原生的Ajax太繁瑣,我們一般使用封裝后的Ajax,目前常用的有Jquery的$.ajax和axios,還有原生的fetch.

Jquery Ajax

  $.ajax({
            type: "post",   //請求類型
            dataType: "json",   //請求數據返回類型
            url: "https://aliyun.firehua.top/admin/json_data/sent_data",    //請求地址
            data: $('#form').serialize(),       //表單序列化
            success: function (result) {        //成功
                console.log(result);
                if (result.code === 200) {
                    console.log(result);
                    console.log("成功");
                    $("#name").text(result.data.name);
                    $("#phone").text(result.data.phone);
                    $("#sex").text(result.data.sex);
                } else {
                    console.log(result);
                    console.log("失敗");
                }
            },
            error: function (result) {      //失敗
                console.log(result);
                console.log("異常");
            }
        });

Vue axios

Vue是推薦用axios框架,這個是基于promise的

//發送一個`POST`請求
axios({
    method:"POST",
    url:'/user/12345',
    data:{
        firstName:"Fred",
        lastName:"Flintstone"
    }
});

fetch

fetch是es6提出的一種解決方式,沒有用xmlrequest,使用了原生的js,應該是速度最快的,但是兼容性可能有問題

    fetch('http://localhost:3000/data/123',
        {method:'get'}).then(data=>{
           return data.text();
        }).then(ret=>{
            console.log(ret);
        })

這個大家需要注意需要兩次then才能獲取到響應數據

Ajax跨域

因為瀏覽器的同源策略,導致一個頁面只能訪問自己站點的東西,訪問別的服務器會報錯誤,這個是為了安全,所有我們需要跨域.一般常見的跨域有三種,jsonp,cors還有代理

jsonp跨域

jsonp就是動態創建一個script標簽,里面請求想要的文件,一般是json數據,可以不受限制

這個是jquery的jsonp

 $.ajax({
                     url: "http://localhost:9090/student",
                     type: "GET",
                     dataType: "jsonp", //指定服務器返回的數據類型
                     success: function (data) {
                         var result = JSON.stringify(data); //json對象轉成字符串
                         $("#text").val(result);
                     }
                 });

但是jsonp只能用于get請求,所有講解下面的cors

cors跨域

cors跨域則是由服務端進行設置,一般不需要前端負責

下面是node的方式

   'Access-Control-Allow-Credentials': true, //允許后端發送cookie
      'Access-Control-Allow-Origin': req.headers.origin || '*', //任意域名都可以訪問,或者基于我請求頭里面的域
      'Access-Control-Allow-Headers': 'X-Requested-With,Content-Type', //設置請求頭格式和類型
      'Access-Control-Allow-Methods': 'PUT,POST,GET,DELETE,OPTIONS',//允許支持的請求方式
      'Content-Type': 'application/json; charset=utf-8'//默認與允許的文本格式json和編碼格式

代理跨域

代理跨域就是講瀏覽器的請求讓本站點的服務器去請求,因為服務器沒有跨域概念,所有可以直接拿到

這個是vue的代碼

  devServer: {
    host: 'localhost',
    port: 8081,
    proxy: {
      '/api': {
        target: 'http://mall-pre.springboot.cn',
        changeOrigin: true,
        pathRewrite: {
          '/api': ''
        }
      }
    }
  }

以上就是動力節點小編介紹的"AJAX教程的內容",希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩亚洲欧美性感视频影片免费看 | 夜夜尻 | 亚洲国产第一区二区香蕉日日 | 清风阁爱干 | 欧美日韩一区二区不卡 | 今天免费中文字幕视频 | 你懂的手机在线视频 | 成年网站免费视频黄 | 免费看大片视频 | 亚洲欧美日韩中文v在线 | 青青青青青青草 | 最近最新免费中文字幕高清 | 狠狠操狠狠搞 | 国产一区二区丁香婷婷 | 极品嫩模众筹福利写真视频 | 国产在线高清不卡免费播放 | 亚洲欧美综合在线观看 | 欧美精品成人久久网站 | 黄色高清在线观看 | 手机在线你懂的 | 一级做a爰片久久毛片唾 | 亚洲三级a | 97免费视频在线观看 | 欧美性猛交xxxx免费看手交 | 一本大道香一蕉久在线影院 | 日日操天天操 | 午夜羞羞视频在线观看 | 亚洲国产成人久久综合一 | 国产黄色小视频在线观看 | 最新丁香六月 | 99视频精品全部免费免费观 | 九九久久亚洲综合久久久 | 手机看片国产免费永久 | 日韩欧美精品在线 | 亚洲国产剧情在线精品视 | 一级α一级α片免费观看网站 | 一级特级aaaa毛片免费观看 | 免费的黄色网址 | 日韩黄色免费观看 | 亚洲精品高清国产麻豆专区 | 国产一区二区三区不卡观 |