加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

全面分析前端的网络请求方式

发布时间:2019-03-29 02:32:12 所属栏目:优化 来源:ConardLi
导读:一、前端进行网络请求的关注点 大多数情况下,在前端发起一个网络请求我们只需关注下面几点: 传入基本参数(url,请求方式) 请求参数、请求参数类型 设置请求头 获取响应的方式 获取响应头、响应状态、响应结果 异常处理 携带cookie设置 跨域请求 二、前

fetch、axios等并没有直接提供对jsonp的支持,如果需要使用这种方式,我们可以尝试进行手动封装: 

  1. (function (window,document) {  
  2.     "use strict";  
  3.     var jsonp = function (url,data,callback) {  
  4.         // 1.将传入的data数据转化为url字符串形式  
  5.         // {id:1,name:'jack'} => id=1&name=jack  
  6.         var dataString = url.indexof('?') == -1? '?': '&';  
  7.         for(var key in data){  
  8.             dataString += key + '=' + data[key] + '&';  
  9.         };  
  10.         // 2 处理url中的回调函数  
  11.         // cbFuncName回调函数的名字 :my_json_cb_名字的前缀 + 随机数(把小数点去掉)  
  12.         var cbFuncName = 'my_json_cb_' + Math.random().toString().replace('.','');  
  13.         dataString += 'callback=' + cbFuncName;  
  14.         // 3.创建一个script标签并插入到页面中  
  15.         var scriptEle = document.createElement('script');  
  16.         scriptEle.src = url + dataString;  
  17.         // 4.挂载回调函数  
  18.         window[cbFuncName] = function (data) {  
  19.             callback(data);  
  20.             // 处理完回调函数的数据之后,删除jsonp的script标签  
  21.             document.body.removeChild(scriptEle);  
  22.         }  
  23.         document.body.appendChild(scriptEle);  
  24.     }  
  25.     window.$jsonpjsonp = jsonp;  
  26. })(window,document)  

postMessage跨域

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读