废话不多少 。。我估计一万个人都搞不清楚 什么是跨域 然后就被这堵墙无情的挡住了。。我尝试了很多办法解决这个问题。后来再慕课网上的一个老师的ppt那里看到一张图 我觉得 能记住这张图的话 应该就算是深入浅出的了解了跨域了吧。

解决跨域这个遗留问题现在我所知道 常用的有三种方法这里 挨个复习和记录一下。

1.使用代理解决。

使用代理解决 其实很好理解。打个比方说,我要请求的json地址在我的阿里云上面,然后我现在在使用本地测试。去请求服务器上面的json数据,这不用看肯定就是跨域了。怎么办呢,如果我使用代理的思路来解决问题。它会变成 首先我在本地架设了一个xampp,然后我丢了一个 python脚本在本地,我要请求数据的时候 首先发送这个数据到本地的这个python脚本  这个python脚本在接受并保存了这些参数之后使用 著名的urllib2模块 带上这些参数向远端的服务器发送请求 然后得到服务器返回的数据 然后再由这个脚本 返回给本地的js文件  js再负责实施更新数据。。这样听上去没什么难的地方,但是这么说的话 脚本与脚本之间似乎是一个同步操作,不太清楚 太大的数据会不会很大程度的影响性能。我也没尝试过过大的json包。

2.使用jsonp解决跨域问题

这里按照我的理解来说的话是,灵活运用了<script>标签可以 跨域请求文件数据的一个特点。这是显然的,不然我们使用的各大厂商的CDN是怎么做到的呢。。所以如果我在本地用<script>标签调用服务器端的js文件其实就可以了,然而这个服务器端提供的文件则是服务器封装好的json文件 根据前端的需要动态添加的。 虽然听起来有点绕 不过好消息是jquery的.ajax()方法是默认支持jsonp的方式的。

dateType:'jsonp',

//这里随意给jsonp一个值 用来做key
jsonp:'callback',

然后后台就可以来获得这个callback name的值了

jsonDate = method.GET[callback];
//这个jsonDate就是数据了
result = jsonDate

而且jsonp 只支持get方法。 而且jsonp 只支持get方法。 而且jsonp 只支持get方法。

3.使用XMLHttpRequest版本2.

这个。。。这个基本不推荐使用 因为大量兼容性的问题。我还在测试中。

这篇文暂时先这样吧。学习到新的 再来修改一下。

前端复习-03-接上面ajax跨域问题的解决与探索的更多相关文章

  1. jquery ajax跨域的完美解决方法(jsonp方式)

    ajax跨域请求的问题,JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式,接下来为大家详细介绍下客户端JQuery.ajax的调用代码     今天在项目中需要做远程数据加载 ...

  2. JQuery的Ajax跨域请求的解决方式

            今天在项目中须要做远程数据载入并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究 ...

  3. Ajax跨域请求怎么解决?

    前言 项目中需要将第三方系统中,对应用户的代办消息集成到系统中.对方提供了获取对应用户的接口url,但是由于两边的系统是部署到客户现场不同IP的虚机上的,所以进行ajax请求的时候是属于跨域请求的.之 ...

  4. jQuery ajax跨域请求的解决方法

    在Ajax应用中,jQuery的Ajax请求是非常容易而且方便的,但是初学者经常会犯一个错误,那就是Ajax请求的url不是本地或者同一个服务器下面的URI,最后导致虽然请求200,但是不会返回任何数 ...

  5. ajax跨域问题及解决

    overview ajax是一种创建交互式网页应用的网页开发技术,是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换.而ajax的跨域问题则是请求了其他项目的接口地址,当协议.子域名 ...

  6. Jquery DataTable AJAX跨域请求的解决方法及SSM框架下服务器端返回JSON格式数据的解决方法

    如题,用HBuilder开发APP,涉及到用AJAX跨域请求后台数据,刚接触,费了不少时间.幸得高手指点,得以解决. APP需要用TABLE来显示数据,因此采用了JQ 的DataTable.  在实现 ...

  7. AJAX跨域问题以及解决思路(更新中)

    跨域的三大原因(同时满足) 浏览器限制 跨域 XHR请求 解决思路: 让浏览器不做限制,指定参数,让浏览器不做校验,但该方法不太合理,它需要每个人都去做改动. 不要发出XHR请求,这样就算是跨域,浏览 ...

  8. restful风格下的ajax跨域问题的解决

    Ajax跨域请求时,如果设置Header的ContentType为application/json,会分两次发送请求一次先发送Method为OPTIONS的请求到服务器,这个请求会询问服务器支持哪些请 ...

  9. AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据

    由于受到浏览器的限制,ajax不允许跨域通信.如果尝试从不同的域请求数据,会出现安全错误.如果能控制数据驻留的远程服务器并且每个请求都前往同一域,就可以避免这些安全错误.但是,如果仅停留在自己的服务器 ...

随机推荐

  1. 基于UltraVNC实现客户端远程控制

    前言 一般远程就直接用windows自带的,配置好动态IP花生壳,在任何地方都可以连回机子.最近项目里遇到这么个情况,需要快速接入远程控制功能,客户机的IP每次都会变,并且都是在外网,这样,就必须使用 ...

  2. [Android] Android开发优化之——使用软引用和弱引用

      Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期.这四种级别由高到低依次为:强引用.软引用.弱引用和虚引用. 这里重点介绍一下软引用和弱引用. ...

  3. R语言实战读书笔记(五)高级数据管理

    5.2.1 数据函数 abs: sqrt: ceiling:求不小于x的最小整数 floor:求不大于x的最大整数 trunc:向0的方向截取x中的整数部分 round:将x舍入为指定位的小数 sig ...

  4. 适用于Firemonkey的Json解析对象XsuperObject使用方法介绍

    XSuperObject是适用于FileMonkey平台的JSON解析组件,能够在Android,IOS,MACOS,WINDOWS等多个平台使用 点击下载 Sample JSON { "n ...

  5. A*寻路初探 GameDev.net 转载

    A*寻路初探 GameDev.net 译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念.这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为 ...

  6. rmmod 无法卸载模块问题

    用insmod加载驱动模块成功后,用rmmod无法卸载 解决方法:在板子上建立一个空目录:lib/modules/2.6.30.4/

  7. 移动金融APP分析

    最近研究了移动互联网金融APP的情况,分享给大家. 这是官方关于互联网金融的范围,包括支付.借贷.众筹.基金.保险和信托. 典型的APP 绑卡的流程普遍采用的四要素鉴权:姓名,身份证,卡号以及银行预留 ...

  8. spring整合各大ORM框架的原理图

  9. HDU1495 非常可乐

    解题思路:简单的宽搜,见代码: #include<cstdio> #include<cstring> #include<algorithm> #include< ...

  10. Android 自定义RadioButton的样式

    Android 自定义RadioButton的样式 我们知道Android控件里的button,listview可以用xml的样式自定义成自己希望的漂亮样式. 最近用到RadioButton,利用xm ...