日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

原生js實現ajax請求和JSONP跨域請求操作示例

瀏覽:296日期:2024-05-17 16:16:15

本文實例講述了原生js實現ajax請求和JSONP跨域請求。分享給大家供大家參考,具體如下:

直接上代碼:

const ajax = (params = {}) => { const nowJson = params.jsonp ? jsonp(params) : json(params); function jsonp(params){ //創建script標簽并加入到頁面中 var callbackName = params.jsonp; var head = document.getElementsByTagName(’head’)[0]; // 設置傳遞給后臺的回調參數名 params.data[’callback’] = callbackName; var data = formatParams(params.data); var script = document.createElement(’script’); head.appendChild(script); window[callbackName] = function(jsonData) { head.removeChild(script); clearTimeout(script.timer); window[callbackName] = null; params.success && params.success(jsonData); }; //console.log(window[callbackName]) //console.log(params.url + ’?’ + data) //url形式傳參 //說明:下面的script加載資源后會返回一個自執行函數:[callbackName](responseData),這個形式就是去執行一個函數,函數的名字是一個參數 // 同時在windows對象上定義了這個函數:[callbackName] = function(responseData){},這時就會調用這個函數 script.src = params.url + ’?’ + data; //為了得知此次請求是否成功,設置超時處理 if(params.time) { script.timer = setTimeout(function() { window[callbackName] = null; head.removeChild(script); params.error && params.error({ message: ’超時’ }); }, params.time); } } //格式化參數 function formatParams(data) { var arr = []; for(var name in data) { arr.push(encodeURIComponent(name) + ’=’ + encodeURIComponent(data[name])); }; // 添加一個隨機數,防止緩存 arr.push(’v=’ + random()); return arr.join(’&’); } // 獲取隨機數 function random() { return Math.floor(Math.random() * 10000 + 500); } function json(params) { // 請求方式,默認是GET params.type = (params.type || ’GET’).toUpperCase(); // 避免有特殊字符,必須格式化傳輸數據 params.data = formatParams(params.data); var xhr = null; // 實例化XMLHttpRequest對象 if(window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { // IE6及其以下版本 xhr = new ActiveXObjcet(’Microsoft.XMLHTTP’); }; // 監聽事件,只要 readyState 的值變化,就會調用 readystatechange 事件 xhr.onreadystatechange = function() { // readyState屬性表示請求/響應過程的當前活動階段,4為完成,已經接收到全部響應數據 if(xhr.readyState == 4) { var status = xhr.status; // status:響應的HTTP狀態碼,以2開頭的都是成功 if(status >= 200 && status < 300) { var response = ’’; // 判斷接受數據的內容類型 var type = xhr.getResponseHeader(’Content-type’); if(type.indexOf(’xml’) !== -1 && xhr.responseXML) { response = xhr.responseXML; //Document對象響應 } else if(type === ’application/json’) { response = JSON.parse(xhr.responseText); //JSON響應 } else { response = xhr.responseText; //字符串響應 }; // 成功回調函數 params.success && params.success(response); } else { params.error && params.error(status); } }; }; // 連接和傳輸數據 if(params.type == ’GET’) { // 三個參數:請求方式、請求地址(get方式時,傳輸數據是加在地址后的)、是否異步請求(同步請求的情況極少); xhr.open(params.type, params.url + ’?’ + params.data, true); xhr.send(null); } else { xhr.open(params.type, params.url, true); //必須,設置提交時的內容類型 xhr.setRequestHeader(’Content-Type’, ’application/x-www-form-urlencoded; charset=UTF-8’); // 傳輸數據 xhr.send(params.data); } }}export default ajax;

調用:

ajax({ jsonp:’JSONP’, url:’http://localhost:8080/test’, data:{}, time:1000, success:function(data){ console.log(data) }, error:function(error){ console.log(error) } })

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript中ajax操作技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一区中文| 亚洲精品极品| 国产成人精品亚洲线观看| 亚洲夜间福利| 国产欧美在线观看免费| 婷婷国产精品| 国产九一精品| 激情91久久| 久久青青视频| 亚洲精品极品| 欧美日韩精品一区二区视频| 日韩福利在线观看| 国产一区日韩一区| 国产精品久久久久久av公交车| 在线国产一区二区| 久久天堂影院| 99国产精品99久久久久久粉嫩| 欧美日韩18| 蜜桃一区二区三区在线观看| 成人日韩在线观看| 精品三级av在线导航| 亚洲精品激情| 中文不卡在线| 在线成人直播| 91精品一区二区三区综合| 久久wwww| 国产一区二区三区不卡视频网站 | 夜夜精品视频| 国产综合婷婷| 亚洲手机视频| 日韩精品久久久久久久电影99爱 | 日韩国产高清在线| 99亚洲视频| 亚洲免费网址| 亚洲欧美成人综合| 首页国产欧美久久| 亚洲一区观看| 日韩亚洲在线| 日韩精品欧美激情一区二区| 欧美亚洲国产激情| 亚洲1区在线| 麻豆一区二区在线| 日韩精品免费一区二区在线观看 | 香蕉久久夜色精品国产| 国产精品普通话对白| 天堂久久一区| 成人在线视频中文字幕| а√天堂8资源中文在线| 国产欧美69| 神马日本精品| 在线亚洲国产精品网站| 国产精品欧美一区二区三区不卡| 美腿丝袜亚洲一区| 黄色av日韩| 国产精品黑丝在线播放| 国产视频一区免费看| 久久不见久久见国语| 欧美精品一线| 国产成人1区| 天海翼亚洲一区二区三区| 欧美国产小视频| 午夜精品福利影院| 亚洲国产成人精品女人| 美女久久一区| 91精品久久久久久久久久不卡| 亚洲精品乱码久久久久久蜜桃麻豆| 水蜜桃久久夜色精品一区| 日韩高清电影一区| 欧美精选一区二区三区| 麻豆国产一区| 欧美极品中文字幕| 日本在线一区二区三区| 成人午夜国产| 成人午夜精品| 国产a亚洲精品| 国产a久久精品一区二区三区| 日本不卡一二三区黄网| 六月婷婷一区| 婷婷综合六月| 久久精品亚洲人成影院| 国产v日韩v欧美v| 三上亚洲一区二区| 日韩欧美中文| 久久精品欧美一区| 亚洲国产专区校园欧美| 亚洲女同中文字幕| 美女网站一区| 亚洲一级大片| 国产欧美精品久久| 久久伊人国产| 国产伦久视频在线观看| 国产中文欧美日韩在线| 福利一区二区三区视频在线观看| 蜜臀久久99精品久久久久宅男| 国产一区导航| 丝袜美腿一区二区三区| 国产99亚洲| 免费视频一区二区| 最新亚洲国产| 91嫩草精品| 狠狠躁少妇一区二区三区| 亚洲国产一区二区在线观看| 日韩精品一级| 成人片免费看| 亚洲三级视频| 国产一区二区三区四区大秀| 国产99精品| 国产伦精品一区二区三区在线播放| 视频国产精品| 国产一区二区三区91| 影院欧美亚洲| 久久亚洲精精品中文字幕| 欧美久久精品一级c片| 国产精品巨作av| 亚洲黄色影院| 久久影视三级福利片| 中文字幕亚洲影视| 久久中文视频| 国内自拍视频一区二区三区| 99成人在线| 成人看片网站| 久久麻豆视频| 欧美日本二区| 欧美日韩一二| 国产在线日韩精品| 国产精品亚洲综合久久| 99pao成人国产永久免费视频| 国产精品66| 亚洲精品成a人ⅴ香蕉片| 在线视频精品| 久久精品国产久精国产| 亚洲欧美视频| 99久久亚洲精品蜜臀| 久久国产生活片100| 免费国产亚洲视频| 久色成人在线| 午夜国产精品视频免费体验区| 新版的欧美在线视频| 91福利精品在线观看| 日韩高清电影一区| 日韩**一区毛片| 欧美亚洲自偷自偷| 国产精品久久久网站| 日本久久一区| 久久精品国产在热久久| 国产精品伦理久久久久久| 精品一级视频| 99久久婷婷| 日韩午夜av| 日韩精品成人在线观看| 日韩福利视频导航| 麻豆一区二区三区| 三级欧美在线一区| 日本久久综合| 日韩精品91亚洲二区在线观看| 国产精品分类| 国产精品va视频| 婷婷久久一区| 欧美日韩国产在线一区| 999精品色在线播放| 丝袜亚洲另类欧美| 蜜臀久久久久久久| 91成人精品观看| 国产精品毛片久久久| 欧美精品三级在线| 国产精品1区| 涩涩av在线| 国产情侣一区在线| 日韩va亚洲va欧美va久久| 亚洲精选91| 神马午夜在线视频| 夜夜嗨一区二区三区| 中文字幕免费一区二区| 日韩三区四区| 欧美91精品| 亚洲精品无播放器在线播放| 欧美一区二区三区免费看| 国产精品www.| 91精品电影| 91亚洲精品在看在线观看高清| 日韩精品看片| 日韩精品视频网站| 麻豆一区二区99久久久久| 久久国产精品色av免费看| 精品少妇av| 美女精品一区| 免费在线亚洲欧美| 日韩中文av| 中文在线资源| 在线亚洲观看| 久久一区欧美| 亚洲日韩视频| av高清一区| 久久99精品久久久野外观看| 亚洲精品一级| 91成人精品| 福利一区和二区| 国产精品亚洲欧美日韩一区在线| 福利一区在线| 国产精品久久久久久模特|