位置: 编程技术 - 正文

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

  • 纳税信用等级评定在哪里查询
  • 增值税的专用发票含税吗
  • 收取境外服务费收入如何开票
  • 涉税专业服务是做什么的
  • 月末存款余额
  • 转让旧固定资产可以开专票吗
  • 存货减值税务处理
  • 税控盘及服务费会计分录
  • 经营用的电饭锅有哪些
  • 无形资产登记什么明细账
  • 现在的统计证还用年检吗
  • 出口退税不退税则征税
  • 固定资产贷款资料清单
  • 出售旧房及建筑物计算土地增值税
  • 公司给员工股票计税
  • 发票作为付款凭证的案例
  • 采购合同可以包含安装吗
  • 小规模纳税人网上申报流程视频
  • 关于工商年检社保的通知
  • 两个公司领工资会不会合并纳税
  • 金融企业的成本核算方法
  • 开发项目未竣工前土地使用税怎么缴纳
  • 城建税一定要当月缴纳吗
  • 未抵扣进项税额可以退税吗
  • 专项应付款会计科目代码
  • 收到转账支票又背书转让怎么写会计科目
  • 应收账款坏账有什么措施改善
  • 产品的销售收入减去全部生产成本叫
  • 电脑上网速度慢的原因及解决方法
  • mac只能读不能写
  • linux hdparm
  • 微软输入法打不出汉字
  • 如何知道家里网络是多少兆
  • php生成php文件
  • 免抵退税的具体计算方法
  • 外企借款投资利息高吗
  • 非关联企业无偿借款涉及到税务会计分录处理
  • ai形成生成器工具怎么用
  • oc底层原理
  • telnet 执行命令
  • php 截断
  • vim操作命令
  • 下岗职工生活费停发
  • phpcms教程
  • 旅行社代订机票可以报销吗
  • 出差补贴要扣税吗
  • python.mat
  • SQL server 2008安装程序遇到以下错误 sku
  • mysql查看创建表代码
  • 小规模公司都交哪些税
  • 公司账户转钱到私人账户要扣税吗
  • 其他货币资金的明细科目有哪些
  • 出票后定期付款的汇票,其提示付款的期限为
  • 购车费用怎么进行账务会计处理
  • 如何理解施工企业的周转材料
  • 网吧是个人独资企业还是个体工商户
  • 解除非正常户罚款调整操作
  • 资本和资产的区别举例说明
  • ubuntu16lts
  • 判断自己的脸型
  • 如何删除双系统中的linux系统
  • win10系统的文件夹选项在哪里
  • windows7使用
  • win10系统如何设置不休眠
  • WIN7系统如何关掉游戏屏保
  • dos批处理实例
  • qt底层绘图引擎
  • 安卓手机屏幕不好使了怎么办
  • bootstrap快速入门
  • 字符串中指定字符变换
  • unity接入安卓sdk
  • node.js nvm
  • python程序员必读书籍
  • python中判断语句怎么写
  • Python简单格式化时间的方法【strftime函数】
  • unity3d documentation
  • htmlcssjavascript入门经典pdf
  • android sdk在哪下载
  • 社保已申报怎么停止缴费
  • 国家税务总局手工发票查询平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设