当前位置: 首页 > news >正文

网站单页面怎么做鱼巴适设计师服务平台

网站单页面怎么做,鱼巴适设计师服务平台,淄博网站建设设计,魔智科技logo在线设计问题场景 自定义 header,导致跨域问题 一个大屏项目,设置请求接口获取数据时,有的接口能够正常返回数据,有的接口提示跨域(接口域名不同),后端也进行支持跨域设置,结果还是提示跨域…

问题场景

  1. 自定义 header,导致跨域问题
    一个大屏项目,设置请求接口获取数据时,有的接口能够正常返回数据,有的接口提示跨域(接口域名不同),后端也进行支持跨域设置,结果还是提示跨域;
    通过测试发现,使用Axios直接请求,没有产生跨域,对比代码发现,请求拦截器添加了一个自定义header,去掉就正常了;
    问题原因是自定义header,后端配置应该也有问题导致的
    该问题是使用方式一处理的
  • 方式一:前端处理,去掉自定义 header;
  • 方式二:后端处理,Access—Control-Allow-Headers 配置中添加自定义 header,或改成*
  1. 使用chrome访问本地地址是提示跨域
    2.1 控制台报错: The request client is not a secure context and the resource is in more-private address space private
  • 方式一:使用火狐浏览器
  • 方式二:配置chrome
    在地址栏中输入chrome://flags/,
    找到 Block insecure private network requests.选项设置为Disabled,
    找到 Insecure origins treated as secure 选项设置为 Enabled,同时设置访问地址(如:http://192.169.16.200:8088)

2.2 控制台报错:Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
后端设置Access-Control-Allow-Origin

总结---------------------------------------------------------------------------------------------------------------

跨域是什么

是浏览器本身的安全策略产生的问题
当访问网页的域与页面内调用接口的域不一致(域不一致包含协议、域名、端口号不一致),就会产生跨域问题

跨域方案

  1. JSONP 方案

利用 <script> 标签没有跨域限制的漏洞,网页可以得到从其他来源动态产生的 JSON 数据。JSONP 请求一定需要对方的服务器做支持才可以。

```
// 跨域加载资源标签
<img src=XXX>
<link href=XXX>
<script src=XXX>
``````
<!-- 前端代码 -->
function jsonp(req) {let script = document.createElement("script"); // 创建一个script标签let url = req.url + "?callback=" + req.callback.name; // 拼接urlscript.src = url; // 设置script标签的src属性document.getElementsByTagName("head")[0].appendChild(script); // 将script标签添加到head标签中
}function sayHello(res) {console.log("hello", res.data);
}
jsonp({url: "http://localhost:3000",callback: sayHello
})``````
<!-- 后端代码 -->
const http = require("http");
const urllib = require("url");const port = 3000; // 定义端口const server = http.createServer((req, res) => {let params = urllib.parse(req.url, true); // 解析urllet callback = params.query.callback; // callback是函数名,解析出来if (callback) {let data = { data: "我就是你要的数据" }; // 定义要向前端返回的数据res.end(callback + "(" + JSON.stringify(data) + ")"); // 相应数据,callback(参数)的形式}
})server.listen(port, function () {console.log("jsonp server is on");
});```
  1. CORS
    CORS 需要浏览器和后端同时支持。IE 8 和 9 需要通过 XDomainRequest 来实现。

  2. postMessage 与 message 事件
    window 与 iframe 之间通信

    <!-- 通过 postMessage 发送信息到指定位置数据 -->
    otherWindow.postMessage(message, targetOrigin, [transfer]);
    <!-- 通过 message 事件接收数据 -->
    window.addEventListener(“message”, dealMessage, false);
    
  3. websocket
    前后端使用 websocket 技术进行数据传递

  4. Node 中间件代理(二次跨域)
    实现原理:同源策略是浏览器需要遵循的标准,而如果是服务器向服务器请求就无需遵循同源策略。

  5. Nginx 反向代理
    类似 Node 中间件代理

http://www.yayakq.cn/news/910327/

相关文章:

  • 做网站义乌平面设计专业就业前景和就业方向
  • 网站建设用什么书怎么创建网站自己创建
  • 手机网站建站步骤论文什么网站做3d模型能赚钱
  • 地方门户网站盈利模式wordpress建站站长之家
  • 榆林建设局网站如何提高百度权重
  • 做网站app的工资高吗网站开发系统计划书
  • 衡东建设局网站做游戏网站有几个要素
  • 怎么攻击织梦网站网站的运营管理方案
  • 网站备案必须在公司注册地做国际网站的流程
  • 网站设计网站浏览济宁北湖建设集团网站
  • 吴中快速建设网站价格智能家居型网站开发
  • 本地生活网站建设2024年全员核酸
  • 设计企业品牌网站免费的黄冈网站有哪些平台游戏软件
  • 网站几个数据库网站源码大全最新
  • 盘锦网站建设东莞房价2021
  • 吃的网站要怎么做开发区高级中学
  • 做快消品的网站做网站要学多久
  • 网站开发有哪几类电子商城网站建设价格
  • 做网站大概需要几步福州网吧
  • 站长工具网址查询百度指数人群画像
  • 四川网站备案核验单猎头公司是啥意思
  • 青州网站建设福田补贴每人9000元
  • 化妆培训学校网站建设新手学建设网站书籍
  • 如何查询网站的域名注册石家庄网站建设蓝点
  • 芜湖市建设路小学网站急招大龄工300元一天
  • 做网站订房网站阿里巴巴官网电话
  • 定制网站建设开发维护wordpress伪静态规则怎么写
  • 网站上面的logo怎么做wordpress的客户端
  • 国外做彩票网站推广是合法的吗想学策划该从哪入手
  • 成都哪家做网站比较好怎么查自己的网站备案编号