广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >ajax如何解决跨域访问遇到的问题
  • 378
分享到

ajax如何解决跨域访问遇到的问题

2024-04-02 19:04:59 378人浏览 安东尼
摘要

这篇文章给大家分享的是有关ajax如何解决跨域访问遇到的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ajax请求一个目标地址为非本域(协议、域名、端口任意一个不同)的WEB

这篇文章给大家分享的是有关ajax如何解决跨域访问遇到的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Ajax请求一个目标地址为非本域(协议、域名、端口任意一个不同)的WEB资源,并根据响应获得外部应用数据。比如我们用Ajax访问城市天气预报、IP地址等公共服务接口时,就涉及跨域了。我们请求一个外部服务时,浏览器会基于安全问题拒绝授权访问。

而script、script、iframe标签的src属性就不存在跨域的问题,所以Ajax跨域就是利用这一点以及jsJSON的支持,外部服务只要给Ajax的请求响应一段JS代码或JSON数据,就能被Ajax获取到。

由于安全方面的原因, 客户端js使用xmlHttprequest只能用来向来源网站发送请求,比如在www.readlog.cn下去请求test.readlog.cn的数据,都是不行的。不过,解决办法倒是不少。这里整理一下。

解决方式1 web代理的方式 (on Server A)

由该页面代替用户页面完成交互,从而返回合适的结果。此方案可以解决现阶段所能够想到的多数跨域访问问题,但要求A网站提供Web代理的支持,因此A网站与B网站之间必须是紧密协作的,且每次交互过程,A网站的服务器负担增加,且无法代用户保存session状态。

解决方式2. on-Demand方式 (on Server A)

MYMSN的门户就用的这种方式,不过 MYMSN中不涉及跨域访问问题。在页面内动态生成新的

解决方式3. iframe方式 (on Server A)

查看过醒来在JavaEye上的一篇关于跨域访问的帖子,他提到自己已经用iframe的方式解决了跨域访问问题。数据提交跟获取,采用iframe这种方式的确可以了,但由于父窗口与子窗口之间不能交互(跨域访问的情况下,这种交互被拒绝),因此无法完成对父窗口效果的影响。

在页面内嵌或动态生成指向别的网站的IFRAME,然后这2个网页间可以通过改变对方的anchor hash fragment来传输消息。改变一个网页的anchor hash fragment并不会使浏览器重新装载网页,所以一个网页的状态得以保持,而网页本身则可以通过一个计时器(timer)来察觉自己anchor hash的变化,从而相应改变自己的状态。

解决方式4. 用户本地转储方式 (local)

IE本身依附于windows平台的特性为我们提供了一种基于iframe,利用内存来“绕行”的方案,即两个window之间可以在客户端通过windows剪贴板的方式进行数据传输,只需要在接受数据的一方设置Interval进行轮询,获得结果后清除Interval即可。FF的平台独立性决定了它不支持剪贴板这种方式,而以往版本的FF中存在的插件漏洞又被fixed了,所以FF无法通过内存来完成暗渡陈仓。而由于文件操作FF 也没有提供支持(无法通过Cookie跨域完成数据传递),致使这种技巧性的方式只能在IE中使用。

解决方式5: (其实还是在服务端A用iframe解决了与服务器B通信的问题)

要解决的问题:发生在用户提交网页 URL (还包括 Tag, Notes 等)给bookmark 服务器时。

关于 URL 的提交至少可以有三种方式:

1. 登陆 Bookmark 服务器的提交页面,将要收藏的 URL 通过该页面提交给服务器。
2. 安装浏览器插件,通过插件将 URL 提交给服务器。
3. 从 Bookmark 服务器动态加载 javascript工具到当前页面,通过它来完成提交工作。

第一种方式开发起来最简单,但对用户来讲比较麻烦,每次都需要先登陆 Bookmark 服务器才能完成提交;第二种方式我并不熟悉插件开发,而且用户也不喜欢太多的插件堆满自己的浏览器;第三种方式开发难度小,又避免了每次登陆服务器的麻烦,所以最终采用它。第三种方式中动态加载的 javascript 小工具除了需要生成 UI 供用户填写信息( URL , tag , notes 等),当用户点击提交的时候,还要完成与服务器通信的功能。

感谢各位的阅读!关于“ajax如何解决跨域访问遇到的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: ajax如何解决跨域访问遇到的问题

本文链接: https://www.lsjlt.com/news/73817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ajax如何解决跨域访问遇到的问题
    这篇文章给大家分享的是有关ajax如何解决跨域访问遇到的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ajax请求一个目标地址为非本域(协议、域名、端口任意一个不同)的web...
    99+
    2022-10-19
  • 如何解决ajax访问遇到Session失效的问题
    这篇文章将为大家详细讲解有关如何解决ajax访问遇到Session失效的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最近由于一个项目,模块切换为ajax请求数据,当...
    99+
    2022-10-19
  • JSONP怎么解决Ajax跨域访问问题
    这篇文章主要介绍“JSONP怎么解决Ajax跨域访问问题”,在日常操作中,相信很多人在JSONP怎么解决Ajax跨域访问问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS...
    99+
    2022-10-19
  • 如何解决Ajax跨域访问Cookie丢失问题
    这篇文章将为大家详细讲解有关如何解决Ajax跨域访问Cookie丢失问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.ajax跨域访问,cookie丢失首先创建两个测...
    99+
    2022-10-19
  • ajax如何解决跨域问题
    小编给大家分享一下ajax如何解决跨域问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!跨域同源策略限制同源策略阻止从一个域上加...
    99+
    2022-10-19
  • Ajax跨域问题如何解决
    这期内容当中小编将会给大家带来有关Ajax跨域问题如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。跨域跨域有三个条件,满足任何一个条件就是跨域 1:服务器端口不一致 2:协议不一...
    99+
    2023-06-08
  • Ajax的跨域问题如何解决
    今天小编给大家分享一下Ajax的跨域问题如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。跨域问题如图所示,这是通过jq...
    99+
    2023-06-29
  • ajax跨域请求js拒绝访问的问题如何解决
    本篇内容介绍了“ajax跨域请求js拒绝访问的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • 如何解决Ajax和跨域问题
    这篇文章将为大家详细讲解有关如何解决Ajax和跨域问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是ajaxAjax(Asynchronous JavaScript...
    99+
    2022-10-19
  • Jsonp如何解决ajax跨域问题
    这篇文章主要为大家展示了“Jsonp如何解决ajax跨域问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Jsonp如何解决ajax跨域问题”这篇文章吧。一、介...
    99+
    2022-10-19
  • Vue解决ajax跨域的问题
    目录(一)什么是跨域(二)axios请求(1)请求方式(2)如何发送axios请求(三)配置代理解决跨域问题(1)方法一:使用vuecli配置代理服务器(2)方法二(一)什么是跨域 ...
    99+
    2023-05-14
    Vue ajax跨域 ajax跨域
  • JSONP之如何解决ajax跨域问题
    这篇文章主要为大家展示了“JSONP之如何解决ajax跨域问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JSONP之如何解决ajax跨域问题”这篇文章吧。J...
    99+
    2022-10-19
  • 如何解决Ajax请求跨域问题
    这期内容当中小编将会给大家带来有关如何解决Ajax请求跨域问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、解决方案:1,在服务器端的响应头中添加一个http参数:res.setHeader(&quo...
    99+
    2023-06-08
  • 怎么解决ajax跨域问题
    本篇内容主要讲解“怎么解决ajax跨域问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决ajax跨域问题”吧!什么是ajax跨域ajax跨域的原理aja...
    99+
    2022-10-19
  • ajax跨域问题怎么解决
    在Ajax请求中,由于浏览器的同源策略限制,如果请求的域名、端口或协议与当前页面不同,则会出现跨域问题,无法正常获取数据。以下是几种...
    99+
    2023-05-13
    ajax跨域问题 ajax
  • AJAX跨域问题的解决办法
    本篇内容主要讲解“AJAX跨域问题的解决办法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“AJAX跨域问题的解决办法”吧!1. 使用中间层过渡的方式:中间过渡,...
    99+
    2022-10-19
  • AJAX的跨域问题解决方案
    目录跨域的概述区别同源与不同源同源策略有什么用?AJAX跨域解决方案方案一、设置响应头方案二、jsonp方案三、代理机制(httpclient)总结跨域的概述 跨域是指从一个域名的网...
    99+
    2022-12-28
    ajax跨域问题以及解决方案 ajax跨域是什么 ajax调用跨域
  • 如何理解Ajax跨域Session和跨域访问
    这篇文章主要讲解了“如何理解Ajax跨域Session和跨域访问”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Ajax跨域Session和跨域访问”...
    99+
    2022-10-19
  • 如何解决使用canvas绘图时遇到的跨域问题
    这篇文章主要介绍了如何解决使用canvas绘图时遇到的跨域问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。当在canvas中绘制一张外链图片时,我们会遇到一个跨域问题。示例...
    99+
    2023-06-09
  • 如何解决ajax请求data遇到的问题
    这篇文章将为大家详细讲解有关如何解决ajax请求data遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用jquery,post请求data:那里要使用data...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作