分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

14、跨域 - jsonp

发布时间:2023-09-06 02:32责任编辑:赖小花关键词:jsjson跨域
## 同源策略
协议 域名 端口    3个都一致叫同域,有1个不一致叫跨域
 
## 为什么浏览器不支持跨域
cookie LocalStorage
DOM元素也有同源策略    iframe
ajax 也不支持跨域
 
## 实现跨域
-  jsonp
-  cors
-  postMessage
-  document.domain    子域和父域
-  window.name    
-  location.hash
-  http-proxy    反向代理
-  nginx
-  websocket 
 
jsonp方式:
function jsonp({url, params, cb}) { ?return new Promise((resolve, reject) => { ???const script = document.createElement(‘script‘) ???window[cb] = (data) => { ?????resolve(data) ?????document.body.removeChild(script) ???} ???params = {...params, cb} ???// wd=b&cb=show ???let arrs = [] ???for (let key in params) { ?????arrs.push(`${key}=${params[key]}`) ???} ???script.src = `${url}?${arrs.join(‘&‘)}` ???document.body.appendChild(script) ?})}// 缺点:只能发送get请求// 不安全 xss攻击 不采用jsonp({ ?url: ‘https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su‘, ?params: {wd: ‘b‘}, ?cb: ‘show‘}).then(data => { ?console.log(data)})

14、跨域 - jsonp

原文地址:https://www.cnblogs.com/zouxinping/p/10339450.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved