前端复习-03-接上面ajax跨域问题的解决与探索
废话不多少 。。我估计一万个人都搞不清楚 什么是跨域 然后就被这堵墙无情的挡住了。。我尝试了很多办法解决这个问题。后来再慕课网上的一个老师的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跨域问题的解决与探索的更多相关文章
- jquery ajax跨域的完美解决方法(jsonp方式)
ajax跨域请求的问题,JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式,接下来为大家详细介绍下客户端JQuery.ajax的调用代码 今天在项目中需要做远程数据加载 ...
- JQuery的Ajax跨域请求的解决方式
今天在项目中须要做远程数据载入并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究 ...
- Ajax跨域请求怎么解决?
前言 项目中需要将第三方系统中,对应用户的代办消息集成到系统中.对方提供了获取对应用户的接口url,但是由于两边的系统是部署到客户现场不同IP的虚机上的,所以进行ajax请求的时候是属于跨域请求的.之 ...
- jQuery ajax跨域请求的解决方法
在Ajax应用中,jQuery的Ajax请求是非常容易而且方便的,但是初学者经常会犯一个错误,那就是Ajax请求的url不是本地或者同一个服务器下面的URI,最后导致虽然请求200,但是不会返回任何数 ...
- ajax跨域问题及解决
overview ajax是一种创建交互式网页应用的网页开发技术,是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换.而ajax的跨域问题则是请求了其他项目的接口地址,当协议.子域名 ...
- Jquery DataTable AJAX跨域请求的解决方法及SSM框架下服务器端返回JSON格式数据的解决方法
如题,用HBuilder开发APP,涉及到用AJAX跨域请求后台数据,刚接触,费了不少时间.幸得高手指点,得以解决. APP需要用TABLE来显示数据,因此采用了JQ 的DataTable. 在实现 ...
- AJAX跨域问题以及解决思路(更新中)
跨域的三大原因(同时满足) 浏览器限制 跨域 XHR请求 解决思路: 让浏览器不做限制,指定参数,让浏览器不做校验,但该方法不太合理,它需要每个人都去做改动. 不要发出XHR请求,这样就算是跨域,浏览 ...
- restful风格下的ajax跨域问题的解决
Ajax跨域请求时,如果设置Header的ContentType为application/json,会分两次发送请求一次先发送Method为OPTIONS的请求到服务器,这个请求会询问服务器支持哪些请 ...
- AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据
由于受到浏览器的限制,ajax不允许跨域通信.如果尝试从不同的域请求数据,会出现安全错误.如果能控制数据驻留的远程服务器并且每个请求都前往同一域,就可以避免这些安全错误.但是,如果仅停留在自己的服务器 ...
随机推荐
- HDU4749 Parade Show(KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4749 题意:给出两个数字串A.B.问A中有多少不相交的子串a能匹配B.匹配的意思是a中任意两个位置i和 ...
- leetcode:Insertion Sort List
Sort a linked list using insertion sort. 分析:此题要求在链表上实现插入排序. 思路:插入排序是一种O(n^2)复杂度的算法,基本想法就是每次循环找到一个元素在 ...
- windows主机无法访问服务器
在CentOS下安装配置hadoop的时候,总显示因为网络端口而导致主机无法访问服务器,遂打算先关闭一下防火墙. 偶然看到防火墙的配置操作说明,感觉不错.执行”setup”命令启动文字模式配置实用程序 ...
- HTTP头学习汇总
在开发http请求的时候,对HTTP头部信息一知半解,各种百度谷歌汇总一下学习到的资料. http简介 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于 ...
- jQuery 清除div内容
$.ajax({ url: "SearchSN.aspx", data: "SN=" + $("#txtS ...
- .NET 实现异步处理的集中方式
对于异步,相信大家都不十分陌生.准确点来说就是方法执行后立即返回,待到执行完毕会进行通知.就是当一个任务在执行的时候,尤其是需要耗费很长的时间进行处理的任务,如果利用单线程进行操作的话,势必造成界面的 ...
- QQ邮箱附件发送
一.先造一个邮件发送的窗体 二.编辑邮件发送的代码(包括附件) ①附件添加对话框 string file; private void button6_Click(object sender, Even ...
- Qt Creator快捷键
简介 Qt Creator中提供了各种快捷键来加快开发进程. 如果需要查看或自定义快捷键,选择工具->选项->环境->键盘.快捷键按类别列出,可以在过滤器(Filter)处输入命令名 ...
- MVC 中使用扩展方法
扩展方法(Extension Method)是给那些不是你拥有.因而不能直接修改的类添加方法的一种方便的办法. 一.使用扩展方法 1.定义一个购物车的类-ShoppingCart using Sys ...
- UVa 10020 (最小区间覆盖) Minimal coverage
题意: 数轴上有n个闭区间[ai, bi],选择尽量少的区间覆盖一条指定线段[0, m] 算法: [start, end]为已经覆盖到的区间 这是一道贪心 把各个区间先按照左端点从小到大排序,更新st ...