• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

    原生js jquery ajax請求以及jsonp的調(diào)用方法

    來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:33:33
    文檔

    原生js jquery ajax請求以及jsonp的調(diào)用方法

    原生js jquery ajax請求以及jsonp的調(diào)用方法:ajax 是用來處理前后端交互的技術(shù),可以改善用戶體驗,其本質(zhì)是 XMLHttpRequest,異步訪問服務(wù)器并發(fā)送請求數(shù)據(jù),服務(wù)器返回響應(yīng)的數(shù)據(jù),以頁面無刷新的效果改變頁面中的局部內(nèi)容 同步:任務(wù)一個一個的執(zhí)行,只有前面的任務(wù)執(zhí)行完才會執(zhí)行下一個任務(wù),如果前
    推薦度:
    導(dǎo)讀原生js jquery ajax請求以及jsonp的調(diào)用方法:ajax 是用來處理前后端交互的技術(shù),可以改善用戶體驗,其本質(zhì)是 XMLHttpRequest,異步訪問服務(wù)器并發(fā)送請求數(shù)據(jù),服務(wù)器返回響應(yīng)的數(shù)據(jù),以頁面無刷新的效果改變頁面中的局部內(nèi)容 同步:任務(wù)一個一個的執(zhí)行,只有前面的任務(wù)執(zhí)行完才會執(zhí)行下一個任務(wù),如果前

    ajax

    是用來處理前后端交互的技術(shù),可以改善用戶體驗,其本質(zhì)是

    XMLHttpRequest,異步訪問服務(wù)器并發(fā)送請求數(shù)據(jù),服務(wù)器返回響應(yīng)的數(shù)據(jù),以頁面無刷新的效果改變頁面中的局部內(nèi)容

    同步:任務(wù)一個一個的執(zhí)行,只有前面的任務(wù)執(zhí)行完才會執(zhí)行下一個任務(wù),如果前面的任務(wù)是耗時操作,則需要一直等待

    異步:多條任務(wù)并發(fā)執(zhí)行,也就是一個任務(wù)的開啟,不需要等待其他任務(wù)執(zhí)行結(jié)束,效率較高

    ajax的語言載體是JavaScript,最大的特點是頁面不刷新

    1、獲取ajax對象

    主流瀏覽器獲取方式:火狐、谷歌、safari、opera、IE7以上

    var xhr = new XMLHttpRequest();

    IE7以下

    var xhr = new ActiveXObject("microsoft.XMLHttp");

    2、發(fā)起請求

    創(chuàng)建請求:xhr.open(請求方式get/post,請求地址);

    發(fā)送請求:xhr.send(post請求數(shù)據(jù)/get設(shè)置null);

    3、接收數(shù)據(jù)

    ajax可以接收字符串、html標(biāo)簽、css樣式、xml、json

    通過監(jiān)聽onreadystatechange事件。來接收ajax狀態(tài)的變化(readyState屬性)

    readyState:

    -0:表示未初始化,對象已經(jīng)建立,但是沒調(diào)用onen方法

    -1:對象已建立,但是未調(diào)用send方法

    -2:發(fā)送數(shù)據(jù),已調(diào)用send方法,但當(dāng)前狀態(tài)及http頭未知

    -3:已接收部分?jǐn)?shù)據(jù),但是數(shù)據(jù)不全

    -4:數(shù)據(jù)接收完畢

    4、常用屬性和方法

    屬性:

    -responseText:將響應(yīng)的數(shù)據(jù)作為字符串返回,只讀

    -responseXML:將響應(yīng)的數(shù)據(jù)格式化為xml格式并返回,只讀

    -status:當(dāng)前請求的http狀態(tài)碼

    方法:

    -open

    -send

    -setRequestHeader:設(shè)置請求頭

    get請求

    url以字符串形式傳遞數(shù)據(jù),對中文、&、=需要特殊處理,可以使用encodeURIComponent()方法進(jìn)行編碼,編碼后的內(nèi)容在服務(wù)端不需要解碼,可以正常接收,get多個參數(shù)之間用&連接,參數(shù)名和參數(shù)值用=連接

    var xhr = null;
     //獲取ajax對象
     if (window.XMLHttpRequest) {
     xhr = new XMLHttpRequest();
     } else{
     xhr = new ActiveXObject("Microsoft.XMLHttp");
     }
     xhr.onreadystatechange = function(){
     console.log(xhr.readyState);
     switch (xhr.readyState){
     case 0:
     console.log("尚未初始化");
     break;
     case 1:
     console.log("尚未建立連接");
     break;
     case 2:
     console.log("正在發(fā)送數(shù)據(jù)");
     break;
     case 3:
     console.log("正在接受數(shù)據(jù)");
     break;
     case 4:
     console.log("數(shù)據(jù)接收完成");
     //處理接到的數(shù)據(jù),這下面是重點
     var text = xhr.responseText;
     break;
     }
     }
     //創(chuàng)建請求
     xhr.open('get','http://localhost/PHP/ajax01.php?sel=4');
     xhr.send(null);

    post請求

    -給服務(wù)器傳參數(shù),需要將參數(shù)寫在send方法中:參數(shù)1=值1&參數(shù)2=值2...

    -需要調(diào)用setRequestHeader()方法,把傳送的參數(shù)封裝成xml格式(模仿form表單提交數(shù)據(jù):application/x-www-form-urlencoded);

    -傳遞的中文、特殊符號都需要編碼

    var xhr = new XMLHttpRequest();
     xhr.onreadystatechange = function(){
     if (xhr.readyState == 4) {
     console.log("登陸成功:"+xhr.responseText);
     }
     }
     //等到輸入的用戶名和密碼,
     var uname = "uname="+ encodeURIComponent(document.getElementById("uname").value);
     var pwd = "pwd="+encodeURIComponent(document.getElementById("pwd").value);
     xhr.open("post","http://localhos/PHP/ajax01.php");
     //設(shè)置頭信息,需要在open方法之后設(shè)置
     xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
     //設(shè)置參數(shù)
     var str = uname+"&"+pwd;
     xhr.send(str);

    get/post的區(qū)別:

    -請求數(shù)據(jù)量,get最多2k,post沒有限制

    -安全方面,post更安全

    -傳遞數(shù)據(jù)的形式:get是url和參數(shù)一起發(fā)送,post是參數(shù)單獨發(fā)送

    jquery ajax請求

    //AJAX
     $.ajax({
     url:"data.txt",
     type:'get',
     dataType:'json',
     data:null,
     async:true,
     timeout:1000,//設(shè)定超時時間 一般都是3000毫秒
     cache:false,//設(shè)定GET請求的時候不走 緩存數(shù)據(jù),原理其實就是在URL末尾加隨機數(shù),默認(rèn)是true
     success:function(data){
     console.log(data)
     },
     })
     //JSONP
     //JSONP都是GET和異步請求的,不存在其他的請求方式和同步請求,而且jquery默認(rèn)會給JSONP的請求清楚緩存
     $.ajax({
     url:"http://matchweb.sports.qq.com/kbs/calendar?columnId=100000",
     type:'get',
     dataType:'jsonp',
     jsonpCallback:"fn",//自定義傳遞給服務(wù)器的函數(shù)名,而不是使用jquery自動生成的
     jsonp:'cb',//把傳遞函數(shù)名的那個形參callBack變?yōu)閏b
     success:function(data){
     console.log(data)
     },
     })

    以上這篇原生js jquery ajax請求以及jsonp的調(diào)用方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    原生js jquery ajax請求以及jsonp的調(diào)用方法

    原生js jquery ajax請求以及jsonp的調(diào)用方法:ajax 是用來處理前后端交互的技術(shù),可以改善用戶體驗,其本質(zhì)是 XMLHttpRequest,異步訪問服務(wù)器并發(fā)送請求數(shù)據(jù),服務(wù)器返回響應(yīng)的數(shù)據(jù),以頁面無刷新的效果改變頁面中的局部內(nèi)容 同步:任務(wù)一個一個的執(zhí)行,只有前面的任務(wù)執(zhí)行完才會執(zhí)行下一個任務(wù),如果前
    推薦度:
    標(biāo)簽: 方法 請求 ajax
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 99久久精品免费| 亚洲精品无码久久久影院相关影片| 久久精品亚洲乱码伦伦中文| 91视频精品全国免费观看| 亚洲韩精品欧美一区二区三区| 99精品影院| 2018国产精华国产精品| 综合在线视频精品专区| 精品久人妻去按摩店被黑人按中出| 久久国产精品久久久| 精品国产三级a∨在线欧美| 亚洲国产精品ⅴa在线观看| 国产伦精品一区二区三区视频猫咪 | 精品亚洲国产成AV人片传媒| 欧洲精品一区二区三区在线观看| 国产高清在线精品一区小说| 国产精品电影在线观看| 国产成人精品优优av| 欧洲精品99毛片免费高清观看| 无码国内精品久久人妻麻豆按摩 | 国产成人精品免费久久久久| 亚洲av永久无码精品网站| 亚洲精品高清一二区久久| 欧美人与动牲交a欧美精品| 国产午夜精品久久久久九九| 国产精品 视频一区 二区三区| 99热成人精品免费久久| 国产精品美女久久久久AV福利| 国产精品一区二区三区99| 黄床大片免费30分钟国产精品| 国内精品伊人久久久久影院对白| 国产精品伦理久久久久久| 国产精品狼人久久久久影院| 国产精品小黄鸭一区二区三区| 国产精品亚洲精品日韩已方| 国产精品午夜国产小视频| 久久精品国产72国产精福利| 无码8090精品久久一区| 亚洲一区精品伊人久久伊人| 亚洲国产精品无码久久98| 精品无码一区二区三区爱欲九九 |