位置: 编程技术 - 正文

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重置此电脑的密码是什么
  • 监理多计量承担什么责任
  • 显示器屏幕抖动闪烁是什么原因
  • 王者荣耀中钟馗怎么出装
  • win10重装系统后黑屏无图像
  • u盘win10系统安装教程
  • php如何运行脚本
  • 广告费用属于损失吗
  • yolov5 workers
  • linux驱动和windows驱动
  • 克扣拆迁款
  • 安装人员食宿费谁承担
  • 老生常谈含义
  • 小企业固定资产折旧方法包括
  • Vue3 + Pinia 持久化存储
  • 购买方未抵扣,销售方申请红字
  • php用户登录界面代码
  • 网络安全实验室
  • 数据安全数据目录
  • php点运算符
  • auth命令
  • linux rc.d init.d
  • 在建工程减值准备借贷方向
  • 单位应缴住房公积金
  • 公司给员工交社保是怎么交的
  • 应付账款的平行登记
  • 个人帮公司代持股份
  • 图文详解管道支架制作安装标准
  • 职工保险报账
  • 属于流动资产的项目有
  • 计提未发生的费用
  • 固定资产被盗报警
  • 季度所得税计提分录
  • 亏损企业对外捐赠的税前扣除
  • 出口收汇手续费需要在出口退税时扣除吗
  • 建筑企业收到材料发票没有备注工程地址可以用吗
  • 公司广告制作费用申请报告
  • 月末忘记结转怎么办
  • 展览门票收入按什么征税
  • 固定资产清理账户的借方登记的项目有
  • 招待客人的住宿叫什么
  • 来料加工费用价格表
  • 企业是否必须建立巡察制度
  • mysql group_concat()函数用法总结
  • ubuntu-
  • win10飞行模式怎么关掉没有图标
  • xp win10 打印机
  • ubuntu和debian哪个稳定
  • centos8 php7.4
  • linux系统中常用的五种文件类型
  • sdstat.exe - sdstat是什么进程 有什么用
  • win8纯净版32位
  • 微信小程序实现轮播图
  • 如何在手机上直接买彩票
  • div 绝对位置
  • 查找重复字符串
  • unity3d总结
  • js比较数值
  • javascript总结笔记
  • js.ajax
  • python标准库函数有哪些
  • js弹出对话框的命令
  • 广东省地方税务局班子成员
  • 企业所得税季申报表
  • 接受虚开转出滞纳金
  • 车船税优惠政策2022年
  • 新疆捡陨石地方叫什么
  • 有限公司怎么交五险
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设