位置: 编程技术 - 正文

借助node实战JSONP跨域实例(如何使用nodejs)

编辑:rootadmin

推荐整理分享借助node实战JSONP跨域实例(如何使用nodejs),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:怎么用node.js写接口,用nodejs写接口优缺点,node jsonp,node js import,node json,node json,用nodejs写接口优缺点,node json,内容如对您有帮助,希望把文章链接给更多的朋友!

一、前言:

浏览器安全是基于同源策略的。所谓同源策略就是三相同:

1、协议相同;

2、域名相同;

3、端口相同。

但,凡事都是有利弊,同源策略也导致了我们想用AJAX跨域请求,但NO!!为了规避这种限制,其中有一方法就是JSONP。

JSONP的基本思想:就是通过<script>的src,向服务器请求数据,且这不受同源策略限制(img和iframe的src也是如此);然后服务器将相应的数据放入指定的函数回调名中,返回给前端。

这,就实现了跨域请求信息。

如下图所示:

了解了JSONP的大体思路,接下来,我们借助node来搭建一个简单的服务器,与前端一步步实现JSONP带来的跨域请求之旅吧。

二、搭建node server:

因为前端要实现跨域请求,需要与后台配合。在这里,我们使用是node来模拟后台服务器。

So,你得对node有一定认识以及开发环境。

接下来,我们就编写一个简单的node服务器吧。

首先,我们需要引入http模块,因为是基于http请求的嘛。然后就是用其创建一个http服务器,如监听的是端口。

借助node实战JSONP跨域实例(如何使用nodejs)

如下:

接着,因为我们要对使用JSONP的请求与正常请求区分,所以,后台得判断处理—通过解析url字符串,假设这里我们是通过带有'/jsonp'的路径名来判断。

如下:

在上面的代码中行,有个缺点就是,我们将回调函数的名字规定死了,当我们判断请求为JSONP时,只能往前端传入test,这样显然不合理。

所以,我们得借助于querystring 这个模块,来处理query字符串。

如下:

这样,我们就将一个我们需要的服务器搭建好了。

服务器有了,接下来,就是前端跨域请求了。

三、JSONP跨域请求之旅:

因为我们是借助于<script>标签中的src来实现请求的,在服务器中已经约定,在请求后加入'/jsonp&#;callback',就将其认定为JSONP请求,且callback后带入一个js中已有的全局方法。

所以,代码可以如下:

好了,前后端都编码完毕,接下来,我们就看看效果吧。

首先启动node服务器,如下:

注:我将我们搭建的服务器server.js放在D:/JSONP中

接下来,运行上面所写的html代码,可以发现请求成功,并执行test方法。

但,我们一进来,就得跨域请求,是否有点不妥,所以可以动态创建script元素,并指定相应请求,任由我们所为。

如下:

JSONP还需要注意的就是,回调函数的方法必须是全局的,不然会报错的,因为是通过script的src请求的嘛,请求成功后立即执行。

标签: 如何使用nodejs

本文链接地址:https://www.jiuchutong.com/biancheng/377907.html 转载请保留说明!

上一篇:node.js程序作为服务并在windows下开机自启动(用forever)(node js作用)

下一篇:教你快速搭建Node.Js服务器的方法教程(搭建oj)

  • 营利性幼儿园怎样登记
  • 后期装修改造费用计入什么科目
  • 一般纳税人什么情况可以开3%的发票
  • 刚成立的公司没有营业额怎么报税
  • 个税年度累计计算器
  • 加计抵减税金分录
  • 销售旧房不能取得评估价格
  • 事业单位取得了应税收入如何纳税?
  • 工会经费可以不提吗
  • 税控盘白盘和黑盘图标
  • 一般和小规模纳税人哪个免税
  • 小规模纳税人增值税怎么算
  • 火车票抵扣进项税需要认证吗
  • 企业的经济成本由什么构成
  • 销售蔬菜免税账务处理
  • 集体企业属于事业单位吗
  • 企业接受投资者的土地使用权投资
  • 房地产车位收入做账
  • 房产税如何进行计提
  • 个体工商户需要办公户吗
  • win11无法安装程序包
  • win11快捷键大全
  • 票据承兑与票据贴现的区别
  • 在php中,字符串有哪些表示形式
  • php __destruct
  • 非货币性资产交换的记忆口诀
  • php单例模式应用场景
  • 债权投资 科目
  • 小规模拍卖公司怎么开票
  • vue父子组件生命周期钩子执行顺序
  • iframe标签表示的框架
  • javaweb项目简介
  • ChatGPT的了解与初体验
  • element_at
  • JavaScript の querySelector 使用说明
  • 支付银行手续费等直接收费金融服务
  • 权益法转成本法非同一控制下为什么不公允
  • 预缴税款从哪里查
  • 报销还款人民币是什么意思
  • 城镇土地使用税征收标准及计算方法
  • Python可变数据类型和不可变数据类型
  • 返利销售的增值税怎么算
  • 钢管租赁如何跑业务
  • 对账小技巧
  • sqlserver时间戳数据更新时也修改默认时间
  • 以前年度少计成本的税务处理
  • 会计付租金会计分录
  • 到银行提取备用金
  • 国有资产保值增值率
  • 增值税专用发票的税率是多少啊
  • 设计费勘察费计入固定资产吗
  • 加计抵减附加税怎么算
  • 固定资产盘点基本情况
  • 资产负债表与利润表的勾稽关系公式
  • 企业处理原材料会计分录
  • 特许权使用费代扣代缴企业所得税
  • 关税用什么会计科目
  • 总帐参数怎么设置
  • sql server查询数据库大小
  • window系统怎么更新版本
  • 苹果mac双系统怎么删除
  • 本地磁盘安装
  • win8怎么进去安全模式
  • win10增加右键菜单
  • win10预览版21337
  • kpg是什么文件
  • Win10应用程序无法正常启动0xc000007b
  • Win10打开浏览器就未响应
  • win10输入法怎么添加美式键盘
  • 根据安全生产法的规定,生产经营单位
  • windows如何进行批处理
  • 网页设置透明背景
  • nodejs10支持es6吗
  • Unity3D&&TexturePacker
  • 示例代码
  • jquery的css方法
  • js cookie存取
  • python traits
  • 税务局 章
  • 云南省税务局召开的会议
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设