位置: 编程技术 - 正文

常见的javascript跨域通信方法(常见的java数据类型有哪些)

编辑:rootadmin

推荐整理分享常见的javascript跨域通信方法(常见的java数据类型有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:常见的java算法,常见的八种噩梦图片,常见的javascript库不包括,常见的javascript库不包括,常见的javascript框架有,常见的java设计模式,常见的javascript数据可视化工具有,常见的javascript库不包括,内容如对您有帮助,希望把文章链接给更多的朋友!

本文主要介绍几种常见的javascript跨域通信方法。首先讲解一下JSONP。1、JSONPJSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是JSON,而是任意的JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。下面我们来介绍下JSONP的具体实现。我们知道,哪怕跨域js文件中的代码(当然指符合web脚本安全策略的),web页面也是可以无条件执行的。远程服务器remoteserver.com根目录下有个remote.js文件代码如下:alert('我是远程文件'); 本地服务器localserver.com下有个jsonp.html页面代码如下:

毫无疑问,页面将会弹出一个提示窗体,显示跨域调用成功。

现在我们在jsonp.html页面定义一个函数,然后在远程remote.js中传入数据进行调用。jsonp.html页面代码如下:

remote.js文件代码如下:localHandler({"result":"我是远程js带来的数据"}); 成功运行,看来跨域远程获取数据的目的实现了,但是又一个问题出现了,我怎么让远程js知道它应该调用的本地函数叫什么名字呢?这时我们就需要将服务端提供的js脚本动态生成就行了,调用者可用通过传参告诉服务端自己需要什么函数,jsonp.html的代码如下:

这次的代码变化比较大,不再直接把远程js文件写死,而是编码实现动态查询,而这也正是jsonp客户端实现的核心部分,本例中的重点也就在于如何完成jsonp调用的全过程。我们看到调用的url中传递了一个code参数,告诉服务器我要查的是CA次航班的信息,而callback参数则告诉服务器,我的本地回调函数叫做flightHandler,所以请把查询结果传入这个函数中进行调用。这个叫做flightResult.aspx的页面生成了一段这样的代码提供给jsonp.html(服务端的实现这里就不演示了,与你选用的语言无关,说到底就是拼接字符串):

常见的javascript跨域通信方法(常见的java数据类型有哪些)

传递给flightHandler函数的是一个json,它描述了航班的基本信息。运行一下页面,成功弹出提示窗口,jsonp的执行全过程顺利完成!但是JSONP存在一点问题,就是由远程服务端负责包装json数据,并调用命名函数,这种方式存在安全隐患,在使用JSONP时,必须完全信任服务端所提供的数据,恶意脚本就可以直接接管我们的应用。所以接下来我们要介绍一种别的方式,来避免这种安全隐患。2、CORSCORS(Cross OriginResource Sharing,跨源资源共享)实现了跨源XMLHttpRequests,跨源HTTP请求包括一个Origin头部,它为服务器提供HTTP请求的源信息。头部由浏览器保护,不能被应用程序代码更改。这种方式远比评估外部输入的方式安全。以前的ajax只能同源请求,现在通过XMLHttpRequests二级,可以进行跨域请求。假设我们页面或者应用已在 上了,而我们打算从 请求提取数据。一般情况下,如果我们直接使用 AJAX 来请求将会失败,浏览器也会返回“源不匹配”的错误,"跨域"也就以此由来。利用 CORS, 只需添加一个标头,就可以允许来自 的请求。php代码如下:

其中*表示允许任何域向我们的服务端提交请求。也可以设置指定的域名,代码如下:

设置好头信息之后,其他域就可以进行请求了。 使用"跨域资源共享"的前提,是浏览器必须支持这个功能,而且服务器端必须同意这种"跨域"。如果能够满足上面的条件,则代码的写法与不跨域的请求完全一样。xhr.open('GET', ' '); 接下来介绍另外一种实时通信方式:3、Cross-document messaging跨文档信息通信。使用这个功能,只要获取到网页所在窗口对象的实例,不仅同原的web网页可以互相通信,也可以实现跨域通信。要想接受从其他窗口发送来的信息,必须对窗口对象的onmessage事件进行监听,其他窗口可以通过postmessage方法来传递数据,该方法使用两个参数:第一个参数为所发送的消息文本,但也可以是任何js对象,第二个参数为接收消息的对象窗口的url地址。下面进行试验,主页面index.html代码如下:

窗口所引用页面other.html代码如下:

试验结果如下:

可以看到在端口服务器中的index.html和端口的服务器中的other.html进行的通信。完整代码如下:

CrossDocumentMessaging_index.html

标签: 常见的java数据类型有哪些

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

上一篇:javascript实现input file上传图片预览效果(js中input怎么用)

下一篇:实例详解JavaScript获取链接参数的方法(数据字典实例详解)

  • 投资收益所得税前扣除
  • 税率开错了影响征税吗
  • 应纳税所得额为什么要减去国债利息收入
  • 个税申报赡养老人可以填公婆吗
  • 房地产开发的会计处理
  • 预缴企业所得税怎么做会计分录
  • 服务,不动产和无形资产扣除项目本期实际扣除金额
  • 同一控制下资产收购
  • 进项税额可以在买东西吗
  • 不同外币之间的折算
  • 收到发票错误主管有责任吗
  • 跨年的管理费用怎么调到主营业务成本里
  • 股权交易要不要缴纳印花税?
  • 调用核心征管失败是什么意思
  • 小规模纳税人增值税怎么算
  • 借现金还银行怎么做账
  • 未实缴出资的股权转让账务处理
  • 建安行业简易计税可以抵扣吗
  • 认证费计入什么科目
  • 税种登记要带什么资料?
  • 如何查询发票是否验旧
  • c盘空间变小的原因
  • 苹果电脑如何提高网速
  • 工程建设期间的借款利息
  • bios里头没有usb功能怎办
  • 会计中记账凭证复核是谁负责
  • 移动硬盘通过软件改硬盘容量怎么改
  • 增值税出口服务包括什么
  • 公司刚成立多久可以注销
  • php常用的魔术方法有哪些
  • 计算机视觉会议2023年11月
  • 企业与员工之间的法律
  • 公司费用报销包括哪些
  • 前端 高级
  • 给工程项目买保险是选哪个保险公司
  • 支票沾水
  • 【深度学习笔记】特征融合concat和add的区别
  • 如何办理出口退税备案
  • 增值税专用发票进项
  • 未形成无形资产计入当期损益的
  • 代扣代缴手续费返还账务处理
  • 我想问一下移动
  • discuz是啥
  • 金蝶专业版如何打印凭证
  • SQL 2005 ERROR:3145 解决办法(备份集中的数据库备份与现有的数据库不同)
  • 股东的投资款怎么收回
  • 资产负债表中其他流动资产包括哪些
  • 营业外收入需要缴纳印花税吗
  • 现金比率升高
  • 残保金缴纳额计算公式
  • 应付票据转应付账款分录
  • 不合格品的处理方式一般包括哪些
  • 同城票据交换差额户金额从哪得来的
  • 利润表的营业成本包括管理费用吗
  • 租赁费计提印花税税率
  • 折旧年限的最新规定2021
  • 销售怎么写啊
  • sql的理解
  • sqlserver 储存过程
  • sql操作方法
  • winxp开机提示explorer.exe
  • ubuntu和window双系统
  • mac怎么创建apple id
  • 格式化快速格式化好吗
  • linux 系统查看
  • windows无法配置在此硬件上运行
  • win8系统怎么搜索软件
  • xp系统升级成win7还会卡吗
  • win8文件夹打不开
  • win8快速启动怎么开启
  • cocos2dx官方教程
  • linux中crontab的用法
  • div+css布局是什么
  • python true的用法
  • nodejs爬虫技术
  • 如何修改新建的内容
  • 内蒙古低保信息网
  • 河南新乡地税局罗姓病逝
  • 公司买的保险怎么查询保单明细
  • 消费税的纳税人是买方还是卖方
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设