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

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

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

瀏覽:290日期: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久久,三上悠亚国产精品一区二区三区
欧美久久香蕉| 丝袜诱惑一区二区| av资源中文在线| 精品国产乱码久久久久久樱花| 免费视频一区二区三区在线观看| 久久永久免费| 不卡一二三区| 国产亚洲高清视频| 日本成人在线不卡视频| 欧美激情99| 电影亚洲精品噜噜在线观看| 国产在线不卡| 中文字幕免费一区二区| 国产精品一区二区三区美女| 黄在线观看免费网站ktv| 亚洲一本视频| 鲁大师成人一区二区三区| 日韩精品视频在线看| 美女在线视频一区| 亚洲高清成人| 91麻豆精品| 精品欧美一区二区三区在线观看| 亚洲欧美日本日韩| 久久精品伊人| 欧美日韩国产精品一区二区亚洲| 亚洲tv在线| 成人福利视频| 日韩精品国产欧美| 日韩不卡免费高清视频| 国产精品白浆| 91精品国产自产精品男人的天堂| 日韩超碰人人爽人人做人人添| 欧美日韩在线播放视频| 麻豆精品在线视频| 日韩国产专区| 中文精品视频| 激情欧美一区| 国产精品腿扒开做爽爽爽挤奶网站| 成人国产综合| 91视频一区| 女生影院久久| 国产亚洲一区在线| 999在线观看精品免费不卡网站| 免费视频亚洲| 亚洲精品精选| 久久狠狠亚洲综合| 精品一区二区三区亚洲| 99成人在线视频| 国产福利亚洲| 麻豆91小视频| 亚洲伦乱视频| 少妇久久久久| 欧美不卡在线| 成人国产精选| 亚洲视频二区| 高清一区二区三区av| 欧美日韩激情| 日韩欧美一区二区三区在线视频| 四虎4545www国产精品| 在线亚洲观看| 久久久亚洲一区| 欧美专区18| 久久久精品久久久久久96| 黄色在线网站噜噜噜| 久久激情综合网| 日韩精品电影一区亚洲| 国产一区二区三区亚洲综合| 日韩久久一区| 久久在线视频免费观看| 极品日韩av| 亚洲理论在线| 岛国av在线播放| 红桃视频亚洲| 日韩av一级| 91精品视频一区二区| 国产亚洲高清视频| 亚洲尤物av| 欧美成人基地 | 亚洲欧美激情诱惑| 日韩久久精品网| 精品视频黄色| 欧美亚洲三级| 日韩成人av影视| 亚洲精品影视| 男女精品网站| 免费中文字幕日韩欧美| 亚洲精品电影| 免费欧美一区| 亚洲电影在线一区二区三区| 日韩欧美精品| av在线最新| 国产精品伦一区二区| 欧美日韩亚洲一区三区| 亚洲精选av| 亚洲精品欧美| 日韩高清在线一区| 日韩高清三区| 88久久精品| 国产精品地址| 国产极品一区| 高清一区二区三区| 日韩伦理在线一区| 亚洲涩涩在线| 四虎4545www国产精品| 亚洲播播91| 人人精品亚洲| 黄色精品网站| 免费黄网站欧美| 日韩国产一区二| 国产精品22p| 久久久久久一区二区| 中文字幕在线免费观看视频| 日韩欧美二区| 狠狠爱成人网| 合欧美一区二区三区| 国产精品普通话对白| 亚洲三级视频| 欧美一区网站| 国内精品美女在线观看| 成人精品天堂一区二区三区| 黑丝一区二区| 四虎精品永久免费| 麻豆久久一区| 激情综合亚洲| 日本少妇精品亚洲第一区| 精品成人18| 国产综合欧美| 欧美三区不卡| 久久蜜桃精品| 视频一区中文字幕精品| 国产精品三p一区二区| 麻豆视频在线观看免费网站黄| 亚洲精品888| 国产精品亚洲产品| 99久久久久| 日本91福利区| 精品捆绑调教一区二区三区 | 国产一区二区三区四区大秀| 日本精品影院| 日韩一区二区三区在线看| 精品国产精品国产偷麻豆| 宅男在线一区| 国产精品玖玖玖在线资源| 国产传媒在线观看| 亚洲欧美视频一区二区三区| 国产精品免费99久久久| 136国产福利精品导航网址| 日韩手机在线| 日韩大片在线播放| 97久久亚洲| 久久在线免费| 国产精品99精品一区二区三区∴| 亚洲福利一区| 国产精品.xx视频.xxtv| 欧美一区=区| 激情不卡一区二区三区视频在线| 久久国产精品久久w女人spa| 精品一级视频| 黄色在线观看www| 免费不卡在线观看| 国产videos久久| 91成人小视频| 夜久久久久久| 另类中文字幕国产精品| 久久av综合| 日韩精品视频在线看| 欧美日韩国产传媒| 高清不卡一区| 欧美精品国产一区| 日韩一区二区久久| 人人草在线视频| 国产乱人伦精品一区| 水野朝阳av一区二区三区| 国产精品13p| 国产精久久久| 日韩国产在线观看| 视频一区二区三区入口| 色偷偷偷在线视频播放| 国产精品白丝av嫩草影院| 99国产一区| 久久高清免费| yellow在线观看网址| 久久99影视| 国产日韩1区| 日韩av网站免费在线| 三级欧美在线一区| 亚洲成人三区| 999国产精品永久免费视频app| 国产精品久久久久久久久久齐齐 | 天堂成人免费av电影一区| 久久国产亚洲| 亚洲电影有码| 涩涩av在线| 日韩深夜视频| 久久精品一本| 精品欧美视频| 国产69精品久久| 国产91在线播放精品| 精品久久视频| 国产伊人久久|