位置: 编程技术 - 正文

借助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)

  • 安装服务费税率是多少
  • 公司税务年报没报罚款多少
  • 现金流量表中的销售商品提供劳务收到的现金
  • 实用9%税率的
  • 工程机械租赁税点
  • 开专票需要交城建税吗
  • 高铁票抵扣增值税
  • 税控盘服务费减免税会计分录
  • 个税专项扣除中途贷款改租房
  • 土地使用税延期还延续吗
  • 以前年度损益所得怎么算
  • 进项税额转出后续处理
  • 什么是成本核算你觉得成本核算重要吗为什么
  • 保本型理财产品推荐
  • 建安费增值税怎么算
  • 一般纳税人确认收入含税吗
  • 跨年发票能否次年入账
  • 销售不动产预收款纳税义务发生时间
  • 公司注销后银行账户怎么注销
  • 鸿蒙系统通知栏和控制
  • 如何维护电脑系统安全?
  • Program Files(x86)是什么意思
  • win11可以触屏吗
  • php stream_get_meta_data返回值
  • 冲减管理费用是什么意思
  • 安大略省节日
  • 夕阳下的大白鲨过山车,美国新泽西州 (© John Van Decker/Alamy)
  • php_imagick
  • php冒泡法排序
  • 青龙面板库怎么用
  • php高并发api接口怎么处理
  • 图像超分综述怎么做
  • 保险公司发票能在异开吗
  • 文化事业建设费的征收范围
  • 子公司收购母公司另一子公司会计处理
  • 财政拨入的科技费是什么
  • 个体户查账征收个人所得税税率
  • 土地使用税的征税范围有哪些
  • 开增值税发票需要和收款账户名字一致吗
  • 平行结转分步法的特点
  • 哪些普通发票可以抵扣
  • 企业结售汇业务需要做什么
  • 企业应付账款科目的借方余额反映的是
  • 套期保值和套期图利
  • mysql 自动重启
  • 经营性罚款和行政性罚款的区别
  • 航天信息开票软件密码忘记了怎么办
  • 小规模防伪税控服务费多少钱
  • 营业税金及附加和税金及附加有什么区别
  • 盈余公积转增实收资本对会计要素的影响
  • 净利润递延所得税
  • 收到质保金怎么写收据
  • 盘亏的固定资产是资产吗
  • 私立幼儿园怎样转公立幼儿园
  • 长期待摊销费用属于流动资产吗
  • 交增值税账务处理
  • 不能抵扣的进项税额转出会计分录
  • 买入返售证券什么意思
  • 建账内容
  • mysql 5.7.28安装
  • mysql数据库操作题
  • 直接内存访问控制器是什么
  • 英特尔双核cpu
  • windows2003密码破解
  • win10预览体验三个选项
  • ubuntu20.04升级21.04
  • os x 10.10.5
  • win7系统重启后黑屏不进系统
  • linux系列
  • js 读取 excel
  • jQuery实现彩带延伸效果的网页加载条loading动画
  • cocos2d开发的知名游戏
  • js应用实例
  • 字符串查找子串
  • python数字运算规则
  • python的对象
  • 企业自建旧房产怎么处理
  • 个人工资扣税标准计算
  • 代理记账的账本是什么
  • 法规处职责要点和底线清单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设