位置: 编程技术 - 正文

AngularJS中的JSONP实例解析(angularjs1.5)

编辑:rootadmin

推荐整理分享AngularJS中的JSONP实例解析(angularjs1.5),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:angularjs1.5,angular json数据处理,angularjs2,angular json数据处理,angular json数据处理,angular jsonp,angular json,angularjs json,内容如对您有帮助,希望把文章链接给更多的朋友!

概念

首先呢,Json和JSONP是不一样的哦。Json呢,是众多数据存储的其中一种格式,是数据书写方式的其中一种。好比是大中华众多诗体的一种(比如说是七言诗吧)。这种诗体规定了: 这种诗体要包含题目,每行诗句的字数(7个字) 等等的文本格式。而Json所规定的文本格式是这样子的

(Json格式示意图)

  而JSONP呢,它是一种特殊的通讯方式,使用它能够轻松绕过浏览器的同源安全限制,达到加载来自不同源的资源(脚本, 图片, 其他)的效果。比如说,您是一个王国的王子,你意外地喜欢上了附近一个小城镇里面的一位漂亮年轻的姑娘(资源),你想和她见面并进一步往下发展(获取资源)。但是呢,您的父亲国王先生(浏览器)可不同意,国王认为这个姑娘不是王室的女孩(非同源的资源),配不上王子,把王子困在城堡里面的同时,还往城堡外放好多士兵监察,禁止外人进入(浏览器的同源安全限制)。但是王子对爱非常坚持,他试过多种方式与这个姑娘联系,比如说让太监欧巴带封信给漂亮姑娘(PUT,GET,POST等等),但是呢,每当到达城门的时候,士兵就会发现这封信的地址是给小姑娘的,于是屡屡禁止了太监出去(获取外部资源时,PUT,GET,POST不奏效)。于是王子想到了一种特殊的通讯方式,就是飞鸽传书(JSONP),小鸽子呢能够飞跃城堡,从而避开士兵的监察(绕过浏览器的同源安全限制),来达到与姑娘通讯的效果(与跨域资源共享CORS的通讯实现啦!O(∩_∩)O)。最终,经过九九八十一难之后,王子喜欢上了太监(∑(っ °Д °;)っ 人生处处充满惊喜...)

具体的实现方法

要达到这种通讯效果,王子(发送请求的方式)和姑娘(服务端)都要有所准备。

 王子在发送JSONP请求的时候,首先需要一只鸽子吧(使用Jsonp), 再来呢,需要一封信绑在鸽子上(地址栏中的callback参数)

AngularJS中的JSONP实例解析(angularjs1.5)

$http.jsonp("  当姑娘接到小鸽子带来的信之后呢,也要把内容写在小鸽子身上的信,来回信(通过callback参数,把响应内容包装成一个JavaScript参数,并由该请求对应的回调函数来进行调用)

  包装数据的方法

res.send(【callback函数】+ '('+ JSON.stringify(result) + ')');

 其他细节

使用JSONP的时候,AngularJS会生成一个 <script> 标签并插入到DOM中进行请求,响应成功之后会把该节点删除(删除节点这点具体Angular版本不同可能会有所不同吧)

  其中,CALLBACK会被替换成一个特地为此请求生成的自定义函数,即是由

$http.jsonp(" 变成

<script src=" 因此当我们自己开发JSONP的后端服务时,要确保响应数据被包含在请求指定的回调函数中

 注意事项

使用JSOPN有潜在的安全隐患,因为JSONP允许后端服务调用应用的JavaScript,使站点变得脆弱的同时,还可能暴露用户隐私

  文章参考

《AngularJS权威教程》

标签: angularjs1.5

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

上一篇:实例解析jQuery工具函数(jquery理解)

下一篇:jQuery生成假加载动画效果(jquery的加载事件)

  • 堤防是啥
  • 递延收益与递延所得税负债的区别
  • 季报需要注意什么
  • 土建工程维修
  • 税局代开专票如何做账务处理?
  • 出现销项负数
  • 发票未到货已到怎么入账
  • 从银行取现回单怎么取
  • 工程保险费属于企业管理费吗
  • 营改增后建安企业账务处理
  • 公司名下的车怎么报废
  • 个人年终奖如何交税
  • 个人取得利息需要缴纳增值税吗
  • 客户扣款会计分录明细科目
  • 初始投资成本与可辨认净资产公允价值
  • 技术转让时增值税怎么算
  • 查账征收企业所得税季报怎么填
  • 公司全额承担个税会计分录
  • win10专业版如何改为家庭版
  • windows 10如何使用
  • win10如何获得管理员权限修改文件
  • 设计费和勘察费的会计科目
  • 增值税明细账怎么登记
  • 享受即征即退政策有效期到了还有效吗
  • apache24启动不了错误代码1
  • bios设置图文详解
  • php不同用户登录不同页面
  • 出售低值易耗品的账务处理
  • 纳税评估一般程序包括
  • linux编译驱动文件
  • 出口退税率的调整方法
  • 收回已确认的坏账准备为什么在贷方
  • php redis常用命令
  • 深度学习模型部署综述(ONNX/NCNN/OpenVINO/TensorRT)
  • ai训练流程
  • vue路由跳转携带参数怎么接收
  • mkfifo命令
  • ps怎么弄树
  • 厂房没租出去要交税吗
  • 新法典离职
  • PostgreSQL 创建表分区
  • 支付宝企业账户怎么注销
  • 房地产开发企业增值税税率
  • 增值税纳税申报类型有哪些
  • 利润分配未分配利润是净利润吗
  • 资产减值损失科目借方增加还是减少
  • 外地预缴个人所得税凭证怎么弄
  • 上月发票如何冲红
  • 新契税法商业
  • 车辆报废如何进行
  • 小企业会计准则没有以前年度损益调整科目
  • 企业购买黄金该交什么税
  • 公司向股东借款最新规定
  • 测绘费计入什么明细科目
  • 废旧物资收购发票政策2018
  • 未开票收入怎么填写增值税申报表
  • 什么情况下投资乘数最大
  • 怎么样建账做账
  • 微软提示
  • 两种方法解决一年级看图问题
  • explorer.exe中文叫什么
  • linux服务器常用命令
  • .intro
  • win8怎么设置成win7菜单
  • win7如何设置桌面背景图
  • shell随机
  • c#openxml
  • 分享一下相亲时碰见过哪些奇葩事
  • jquery绑定事件和移除事件
  • unity怎么导入3d模型
  • jQuery+ajax读取并解析XML文件的方法
  • 使用SQLite本地数据库
  • 河北省国家税务局电子税务局官网入口
  • 物业公司收取物业费要交税吗
  • 国家税务总局遴选拟录取名单
  • 陕西职工医保申请流程
  • 企业所得税季度申报表填报说明
  • 豪车消费税的征税范围
  • 福建原盐和自然盐有什么区别
  • 增值税专用发票注明的金额是含税还是不含税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设