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

实现JSONP请求

同源策略

JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。
而所有非同源的请求(即 域名,协议,端口 其中一种或多种不相同),都会被作为跨域请求。实际上请求发了, 也返回了数据, 只是浏览器检测到时非同源的数据, 就会被浏览器丢掉

然后标签发出的请求不会被同源策略检测到, 因此可以用来发送请求, 如script, img等标签

JSON实现流程

请添加图片描述

  1. 定义全局函数, 发送请求(客户端)
    <!DOCTYPE html>
    <html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><script>window.test = (data) => {console.log(data);};</script><script src="http://localhost:3000/test?callback=test"></script></body>
    </html>
    
  2. 接收数据, 返回数据(后端)
    const Koa = require("koa");
    const app = new Koa();
    const Router = require("koa-router");
    const router = new Router({prefix: "/test",
    });app.use(router.routes());
    router.get("/", async (ctx) => {ctx.body =ctx.query.callback +"(" +JSON.stringify({code: "200",data: {name: "chenjiang",},}) +")";
    });app.listen(3000, (res) => {console.log("启动成功");
    });
    
  3. 浏览器network
    在这里插入图片描述
http://www.lryc.cn/news/165525.html

相关文章:

  • 如何将安防视频监控系统/视频云存储EasyCVR平台推流到公网直播间?
  • 使用内网负载机(Linux)执行Jmeter性能测试
  • Web自动化测试进阶 —— Selenium模拟鼠标操作
  • Python之函数
  • 泛型工具类型和操作符
  • idea中启动maven项目报错-java: 程序包lombok.extern.slf4j不存在问题如何解决
  • MyBatis-动态SQL
  • Swift学习内容精选(二)
  • 类欧笔记存档
  • 电能计量远程抄表系统的分析及在物业的应用
  • 计算机网络篇之端口
  • GO语言篇之发布开源软件包
  • Eclipse官网下载历史版本
  • SCI常见词汇表达
  • 使用ref如何获取到input标签中的值
  • 自定义Dynamics 365实施和发布业务解决方案 3. 开箱即用自定义
  • python-pytorch 关于torch.load()和torch.load_state_dict()
  • 关于批量安装多个apk
  • 【案例教学】华为云API对话机器人的魅力—体验AI垃圾分类机器人
  • go基础详解2-go run test
  • 【NVIDIA CUDA】2023 CUDA夏令营编程模型(三)
  • 字节8年经验之谈 —— 冒烟测试、回归测试是什么?
  • FP6102 20V、3A降压开关调节器芯片
  • 魔众携手ModStart上线全新模块市场,支持模板主题
  • 织梦CMS_V5.7任意用户密码重置漏洞复现
  • ESP32通过ali的C LINK4.0接入aliyun阿里云
  • Spring中使用了哪些设计模式
  • matlab 13折线法数据量化编码与解码
  • Yolov8小目标检测-添加模块改进-实验记录
  • 2023国家网络安全宣传周|邮件安全意识培训-钓鱼篇