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

JSONP 实现跨域请求案例

后端使用 express 搭建,案例代码如下:

const express = require('express')const app = express()
const PORT = 3000app.get('/data', (req, res) => {const jsonData = {name: 'Alan',age: 666,city: 'GD'}const callback = req.query.callback // 获取前端中的回调函数名称if (callback) {res.send(`${callback}(${JSON.stringify(jsonData)})`)} else {res.status(400).send('Callback function name is required')}
})app.listen(PORT, () => { console.log(`listen http://localhost:${PORT}`) })

前端发起 JSONP 请求,实现跨域数据请求

<body><pre></pre><script>// 定义一个回调函数来处理 JSONP 响应function handleJsonpData(data) {// 输出 JSONP 数据document.querySelector('pre').innerText = JSON.stringify(data, null, 4)}// 创建一个 script 标签,设置 src 属性为 JSONP 请求的 URL,并指定回调函数名const script = document.createElement('script')script.src = 'http://localhost:3000/data?callback=handleJsonpData'// 将 script 标签添加到文档中,触发 JSONP 请求,// 然后服务器放回的字符串会被当成 js 命令执行,从而调用我们前面定义的函数// 这样就可以获取到服务器的数据了document.body.appendChild(script)</script>
</body></html>

效果

在这里插入图片描述
在这里插入图片描述

相关文章:

JSONP 实现跨域请求案例

后端使用 express 搭建&#xff0c;案例代码如下&#xff1a; const express require(express)const app express() const PORT 3000app.get(/data, (req, res) > {const jsonData {name: Alan,age: 666,city: GD}const callback req.query.callback // 获取前端中的回…...

2024年智慧城市、人文发展与区域经济国际会议(ICSCCDRE 2024)

2024年智慧城市、人文发展与区域经济国际会议&#xff08;ICSCCDRE 2024&#xff09; 2024 International Conference on Smart Cities, Cultural Development and Regional Economy 会议简介&#xff1a; 城市经济人文发展是一个综合性的过程&#xff0c;它关注城市在经济、…...

目标检测——PP-YOLO算法解读

PP-YOLO系列&#xff0c;均是基于百度自研PaddlePaddle深度学习框架发布的算法&#xff0c;2020年基于YOLOv3改进发布PP-YOLO&#xff0c;2021年发布PP-YOLOv2和移动端检测算法PP-PicoDet&#xff0c;2022年发布PP-YOLOE和PP-YOLOE-R。由于均是一个系列&#xff0c;所以放一起解…...

多特征变量序列预测(11) 基于Pytorch的TCN-GRU预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…...

Lvs+keepalived+nginx搭建高可用负载均衡集群

环境配置 master主机192.168.199.149&#xff0c;虚拟IP192.168.199.148 back备机192.168.199.150 真实服务器1 192.168.199.155 真实服务器2 192.168.199.156 关闭防火墙和selinux master配置&#xff08;149&#xff09; 添加虚拟IP ip addr add 192.168.199.148/24 …...

WPF —— 控件模版和数据模版

1:控件模版简介: 自定义控件模版&#xff1a;自己添加的样式、标签&#xff0c;控件模版也是属于资源的一种&#xff0c; 每一个控件模版都有一唯一的 key&#xff0c;在控件上通过template属性进行绑定 什么场景下使用自定义控件模版&#xff0c;当项目里面多个地方…...

如何动态修改spring中定时任务的调度策略(1)

在我们日常开发中经常会调度工具来处理一下需要定时执行的任务&#xff0c;比如定时导出报表数据给业务方发送邮件。你在工作中是如何这种定时调度&#xff1f; 如何实现调度任务 使用java技术栈的老铁来说&#xff0c;现成定时调度的解决方案应该有很多&#xff0c;总结来说…...

idea import的maven类报红

idea 报红/显示红色的原因 一般报红&#xff0c;显示红色&#xff0c;是因为 idea 在此路径下&#xff0c;找不到这个类。 找到是哪个 jar 包的类导致 idea 报红 点击报红的路径的上一层&#xff0c;进入jar 包。比如&#xff1a; import com.aaa.bbb.ccc.DddDto;这个 impo…...

React——class组件中setState修改state

class组件中通过state去存储当前组件的数据&#xff0c;那怎么对其进行修改呢&#xff1f;就是方法this.setState({ 要修改的部分数据 }) setState() 作用&#xff1a;1 、修改 state 内容&#xff1b;2 、更新 UI 特别注意&#xff1a;react的核心其实是虚拟dom&#xff08;数…...

搭建基于 Snowflake 的 CI/CD 最佳实践!

Snowflake 提供了可扩展的计算和存储资源&#xff0c;和基于 SQL 的界面 Snowsight&#xff0c;方便用户进行数据操作和分析。然而&#xff0c;如果用户想将自己的 CI/CD 流程与 Snowflake 集成时&#xff0c;会发现一些不便之处&#xff08;尤其相比其 SnowSight 优秀的查询能…...

数据结构(五)——树的基本概念

五、树 5.1 树的基本概念 5.1.1 树的定义 树是n(n>0)个结点的有限集合&#xff0c;结点数为0的树称为空树 非空树的特性 有且仅有一个根节点没有后继的结点称为“叶子结点”&#xff08;或终端结点&#xff09;有后继的结点称为“分支结点”&#xff08;或非终端结点&a…...

2.28CACHE,虚拟存储器

主存储器,简称主存。CPU可以直接随机地对其进行访问&#xff0c;也可以和高速缓存器及辅助存储器交换数据。 2> 辅助存储器,简称辅存&#xff0c;不能与CPU直接相连&#xff0c;用来存放当前暂时不用的程序和数据 3> 高速缓冲存储器,位于主存和CPU之间&#xff0c;用来…...

深入理解栈和队列(一):栈

个人主页&#xff1a;17_Kevin-CSDN博客 专栏&#xff1a;《数据结构》 一、栈的概念 栈&#xff08;Stack&#xff09;是一种特殊的线性表&#xff0c;它遵循后进先出&#xff08;Last-In-First-Out&#xff0c;LIFO&#xff09;的原则。栈可以被看作是一个只能在一端进行操作…...

electron-builder 打包问题,下载慢解决方案

目录 问题说明设置下载源 &#xff1f;解决方案思路下载Electron下载winCodeSign下载nsis下载nsis-resources 总结 问题说明 项目使用了Electron&#xff0c;在第一次打包时会遇见下载慢&#xff0c;导致打包进度几乎停滞不前&#xff0c;甚至可能直接报错 其实这是因为Electr…...

(简单成功)Mac:命令设置别名

案例&#xff1a;给"ls -l"命令&#xff0c;设置别名通过”ll“快速访问 1、在项目根目录底下查看有无.bash_profile文件&#xff0c;注意这个是个隐藏文件&#xff0c;需要使用ls -a命令查看&#xff1a; 没有.bash_profile新建一个文件&#xff0c; 在最后添加一行…...

Grok-1:参数量最大的开源大语言模型

Grok-1&#xff1a;参数量最大的开源大语言模型 项目简介 由马斯克领衔的大型模型企业 xAI 正式公布了一项重要动作&#xff1a;开源了一个拥有 3140 亿参数的混合专家模型&#xff08;MoE&#xff09;「Grok-1」&#xff0c;连同其模型权重和网络架构一并公开。 此举将 Gro…...

Python 自然语言处理库之stanza使用详解

概要 在自然语言处理(NLP)领域,Python Stanza 库是一个备受推崇的工具,它提供了强大的功能和易用的接口,帮助开发者处理文本数据、进行语言分析和构建NLP应用。本文将深入探讨 Stanza 库的特性、用法,并通过丰富的示例代码展示其在实际项目中的应用。 Stanza 简介 Stan…...

计算机网络:数据交换方式

计算机网络&#xff1a;数据交换方式 电路交换分组交换报文交换传输对比 本博客介绍计算机之间数据交换的三种方式&#xff0c;分别是电路交换、分组交换以及报文交换。 电路交换 我们首先来看电路交换&#xff0c;在电话问世后不久&#xff0c;人们就发现要让所有的电话机都…...

万用表革新升级,WT588F02BP-14S语音芯片助力智能测量新体验v

万能表功能&#xff1a; 万能表是一款集多功能于一体的电子测量工具&#xff0c;能够精准测量电压、电流、电阻等参数&#xff0c;广泛应用于电气、电子、通信等领域。其操作简便、测量准确&#xff0c;是工程师们进行电路调试、故障排查的得力助手&#xff0c;为提升工作效率…...

Day61:WEB攻防-PHP反序列化原生类TIPSCVE绕过漏洞属性类型特征

知识点&#xff1a; 1、PHP-反序列化-属性类型&显示特征 2、PHP-反序列化-CVE绕过&字符串逃逸 3、PHP-反序列化-原生类生成&利用&配合 补充&#xff1a;如果在 PHP 类中没有实现某个魔术方法&#xff0c;那么该魔术方法在相应的情况下不会被自动触发。PHP 的魔…...

5分钟上手League Akari:英雄联盟玩家的终极智能助手指南

5分钟上手League Akari&#xff1a;英雄联盟玩家的终极智能助手指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为繁琐的游戏操作而烦…...

【GraalVM静态镜像内存优化终极指南】:20年JVM专家亲授5大内存泄漏陷阱与3步零GC启动法

第一章&#xff1a;GraalVM静态镜像内存优化全景认知GraalVM 静态原生镜像&#xff08;Native Image&#xff09;通过提前编译&#xff08;AOT&#xff09;将 Java 应用编译为独立可执行文件&#xff0c;显著降低启动延迟与运行时内存开销。然而&#xff0c;静态镜像的内存行为…...

告别手动编译!用ODBC桥接让QT5.14.2轻松操作MySQL8数据库

告别手动编译&#xff01;用ODBC桥接让QT5.14.2轻松操作MySQL8数据库 在QT开发中连接MySQL数据库时&#xff0c;许多开发者都会遇到一个令人头疼的问题&#xff1a;需要手动编译MySQL驱动。这不仅耗时耗力&#xff0c;还容易因版本不匹配导致各种兼容性问题。本文将介绍一种更…...

第一个shell脚本

Bash脚本&#xff1a; 能够监控指定名称的进程sshd 如果进程存在&#xff0c;则输出其PID和状态信息 如果进程不存在&#xff0c;则自动尝试重启该进程(可假设进程启动命令已知)&#xff0c;并记录日志(包含时间戳)shell脚本 #!/bin/bash #要监控的进程名 namessh #日志路径 lo…...

如何快速解决Krita-AI-Diffusion插件安装问题:完整技术指南

如何快速解决Krita-AI-Diffusion插件安装问题&#xff1a;完整技术指南 【免费下载链接】krita-ai-diffusion Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required. 项目地址: https://gi…...

【ArcGIS Pro二次开发】:三调地类面积精准统计与数据清洗实战

1. 三调地类面积统计的业务痛点 做国土调查数据处理的朋友都知道&#xff0c;三调数据最让人头疼的就是地类名称不规范。我去年接手一个省级三调项目时&#xff0c;光是清理"养殖坑塘"这类非标准表述就花了整整两周。不同作业单位提交的数据里&#xff0c;光是坑塘水…...

Python 3.10升级后,live-server启动报错AttributeError?手把手教你修改collections.abc

Python 3.10标准库变更引发的兼容性问题全解析 最近在开发者社区中&#xff0c;关于Python 3.10升级后出现的AttributeError问题讨论热度持续攀升。许多开发者在运行旧项目或使用某些依赖库时&#xff0c;突然遭遇类似"module collections has no attribute MutableMappin…...

别再东拼西凑了!我为你整理了一份超全的嵌入式开发知识图谱(含学习路线与避坑指南)

嵌入式开发者的终极成长指南&#xff1a;从菜鸟到架构师的系统化进阶路线 当我在2015年第一次接触STM32开发板时&#xff0c;面对满屏的寄存器配置和晦涩的数据手册&#xff0c;曾一度怀疑自己是否选错了职业方向。八年后的今天&#xff0c;当我带领团队完成第五代工业控制器开…...

APISIX Dashboard实战:从零构建微服务路由网关

1. 认识APISIX Dashboard&#xff1a;你的微服务交通指挥官 第一次接触APISIX Dashboard时&#xff0c;我把它想象成一个繁忙机场的空中交通管制塔台。就像塔台需要协调无数航班起降一样&#xff0c;这个可视化面板能帮你管理所有进出微服务集群的网络请求。不同于需要手写YAML…...

lite-avatar形象库效果惊艳:客服形象在复杂噪声环境下仍保持唇动-语音强同步

lite-avatar形象库效果惊艳&#xff1a;客服形象在复杂噪声环境下仍保持唇动-语音强同步 1. 引言&#xff1a;数字人客服的新突破 在数字人技术快速发展的今天&#xff0c;我们经常遇到一个令人头疼的问题&#xff1a;在嘈杂的环境中&#xff0c;数字人形象的口型和语音总是对…...