位置: 编程技术 - 正文

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

  • 一般纳税人企业所得税多久申报一次
  • 个人所得税的标准计算
  • 小企业如何做帐
  • 审计调整分录要在金蝶调吗
  • 新公司实收资本
  • 个税年度累计计算器
  • 车间管理人工资计入什么科目
  • 房产税和城市房地产税
  • 增值税简易计税账务处理
  • 如何理解定时是指收入在什么时候记入账册?
  • 旧机动车交易需要哪些法定证件
  • 向消费者支付佣金怎么算
  • 购进货物未取得增值税专用发票
  • 车辆购置税是否计入固定资产
  • 税种案例分析
  • 技术开发费加计扣除优惠政策
  • 烟草生产者消费税计算方法
  • 销售退回怎么开票
  • 外地派人来出差怎么报备
  • 所有利息收入都免税吗
  • 费用计入资产
  • 网页显示不全怎么回事
  • win11怎么取消登录pin密码
  • 小规模纳税人开票限额是多少
  • 退款给客户怎么写分录
  • 电脑右下角总是弹出广告
  • 逾期增值税扣税凭证
  • 土地使用税若干问题的补充规定
  • 运输企业成本核算内容有哪些?
  • CodeIgniter视图使用注意事项
  • 股东分红会计分录摘要
  • framework3.5怎么打开
  • 低值易耗品报废年限几年
  • 公司购买土地建厂房怎么入账
  • 基于web的网站设计与实现
  • 公章是否必须备案
  • 建行e信通怎么转让
  • 没有关系怎么表达
  • 结构体基本知识
  • chs命令
  • yii2.0框架
  • 收到境外服务费可以退税吗
  • 增值税怎样交
  • 拓展训练属于培训费吗
  • 保理融资费用账务处理
  • mysql数据库外键约束怎么写
  • 帝国cms灵动标签 PHP变量文章ID加减1
  • 财政拨款事业单位的办公用车免征车船税吗
  • 光盘盒属于什么税收分类
  • 成立一般纳税人的利弊
  • 固定资产加速折旧最新税收政策2023
  • 研发支出是什么性质的科目
  • 应付职工薪酬怎么冲平
  • 当月费用次月报销
  • 银行存款收入范围有哪些
  • 权益性无形资产包括哪些?
  • 弥补亏损的会计处理
  • 资本增值率计算公式是什么?
  • 注册资本和实收股本的区别
  • 总分类账的依据
  • mysql怎么清理干净
  • windows7打游戏会卡怎么办
  • win10系统登录密码怎么取消
  • bios怎么设置efi引导
  • 轻量级个人用linux桌面系统
  • linux ii
  • cocos2d-x引擎
  • ext.grid.editorgridpanel
  • jquery的使用步骤
  • 一个简单的微笑说说
  • eval()函数python
  • javascript的
  • 编写高质量代码改善JAVA程序的151个建议
  • jQuery插件ajaxFileUpload异步上传文件
  • python从入门到精通百度云
  • jquery上滑下滑
  • python二叉树的遍历算法
  • 五十八二
  • 车辆购置税申报车辆登记地怎么填
  • 专票清单用什么纸打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设