如何去解决JS跨域问题?怎么能学好Web前端开发?JavaScript跨域是指通过JS在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过JS获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。那么如何解决跨域问题呢?下面来看看吧。

在此之前,我们首先要了解为什么需要跨域。跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。简单来说,跨域的作用就是让你能访问不是一个域的文件。

要解决跨域问题,我们可以使用以下几种方法:

一、通过jsonp跨域(实际上是动态创建script标签)

jsonp(json with Padding)是资料格式json的一种“使用模式”,可以让网页从别的网域要资料。jsonp也叫填充式json,是应用json的一种新方法,只不过是被包含在函数调用中的json。jsonp由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数,而数据就是传入回调函数中的json数据。

二、通过document.domain+ iframe (只有在主域相同的时候才能使用该方法)

两个不同域的a.html和b.html

解决办法:在两个页面都插入document.domain,这样就能访问iframe里window对象的各种属性。

三、使用window.name来进行跨域

原理:在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限

四、使用HTML5的window.postMessage方法来跨域传送数据​

五、利用CORS

CORS是自定义HTTP头部,使浏览器和服务器对比,从而决定请求和响应是否应该进行。

IE8使用XDR对象实现CORS,和XHR类似用法

现代浏览器使用普通的XMLHttpRequest对象请求就行。

当然,实现JavaScript跨域的方法还有图片Ping、利用flash等。跨域是前端最重要的面试题之一,掌握它你就比别人多了一个优势,如果你想学好Web前端开发,建议参加专业的学习方式。

firefox如何载入json文件_如何去解决JS跨域问题 怎么能学好Web前端开发相关推荐

  1. ashx 跨域_使用ashx解决ajax跨域访问的问题

    由于跨域访问是被IE的安全访问拒绝掉的 需要使用web代理 新建一个proxy.ashx文件 在proxy.ashx里建一个webservice 代码如下: [WebService(Namespace ...

  2. ashx 跨域_使用ashx解决ajax跨域访问的问题 | 学步园

    由于跨域访问是被IE的安全访问拒绝掉的 需要使用web代理 新建一个proxy.ashx文件 在proxy.ashx里建一个webservice 代码如下: [WebService(Namespace ...

  3. firefox如何载入json文件_Firefox在书签工具栏中推隐藏“其他书签”文件夹功能

    外媒techdows最近报道,Firefox首次允许了在Windows上使用快捷键Ctrl+Shift+B隐藏书签工具栏.为了更容易地访问保存到"其他书签文件夹"的书签,从Fire ...

  4. html透明度_学好Web前端开发,必要了解的HTML+CSS的技巧有哪些

    HTML+CSS的技巧有哪些?怎么学好Web前端开发?经过Web前端学习的一个过程,每个人都会对前端的认识逐渐由浅入深,由一开始僵硬地使用标签和标签属性进行简单网页布局,到最后能够对网页进行丰富的CS ...

  5. nginx解决浏览器跨域问题_使用nginx解决浏览器跨域

    什么是浏览器跨域? 跨域就是指浏览器具有同源策略,浏览器不会执行访问其它网址数据的js脚本,比如说访问其它网址的cookie数据,调用其它网址的api接口. 什么是同源? 协议,域名,端口均相同的情况 ...

  6. 前端传中文文件名_前端工程师需要掌握哪些知识,web前端开发规范总结

    Web前端作为开发团队中不可或缺的一部分,需要按照相关规定进行合理编写(一部分不良习惯可能给自己和他人造成不必要的麻烦).不同公司不同团队具有不同的规范和文档.下面是根据不同企业和团队的要求进行全面详 ...

  7. asp 退出登录修改cookie能进入后台_深入浅出让你理解跨域与SSO单点登录原理与技术...

    一:SSO体系结构 SSO SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用 ...

  8. java单点登录跨域_深入浅出让你理解跨域与SSO单点登录原理与技术

    原标题:深入浅出让你理解跨域与SSO单点登录原理与技术 一:SSO体系结构 SSO SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互 ...

  9. php json -gt;访问,【转】Php+ajax+jsonp解决ajax跨域问题

    首先:jsonp是json用来跨域的一个东西. 原理是通过script标签的跨域特性来绕过同源策略. 发送端: $.ajax({ type : "post", url : &quo ...

最新文章

  1. 数据结构_顺序栈的代码实践
  2. JavaScript(3)之——对象的属性描述符
  3. 计算机考试word教程,职称计算机考试Word教程:段落格式的编辑
  4. C#的async和await
  5. jzoj1274-游历的路线【分层图,SPFA】
  6. java如何把png转换成jpg_Java实现将png格式图片转换成jpg格式图片的方法【测试可用】...
  7. PHP安装imagemagick扩展imagick
  8. Xilinx FPGA芯片命名规则
  9. 【知识点总结】电机学——题目部分
  10. office 2003 下载
  11. ipv6单播地址包括哪两种类型_Ipv6详解
  12. openwrt反攻局域网arp攻击shell脚本
  13. 【网页开发】登录注册页面01
  14. Halcon union_adjacent_contours_xld详解
  15. spring中AOP(面向切面编程)
  16. python3 函数类型限制登录可解封_如何解决python反爬虫限制访问?
  17. 2020年了,跨境电商收款有哪几种方式?
  18. c++ 数组置0_鸣小亮C语言笔记(5)——数组
  19. ubuntu下 vscode 配置c++ 环境和opencv
  20. 悬浮 内容滚动实现_近年来我国磁悬浮轴承市场运营情况分析

热门文章

  1. ASP.NET中使用Global.asax文件
  2. 是什么管脚分配_FPGA是什么?里面有什么?能做什么?
  3. 【Leetcode | easy】罗马数字转整数
  4. STM32 电机教程 21 - 基于ST MCLIB无感FOC 与 有感FOC 代码差异分析
  5. 2021/6/18~19 每天学习python 30分钟 -了解python - python的基本变量概述
  6. Allegro替换过孔类型
  7. 整理照片,python批量修改名称
  8. 基于小波变换的图像解压缩
  9. 老男孩教育Python 9期第一课练习题答案
  10. 可穿戴计算之父:成都能成为可穿戴技术未来中心