什么是跨域访问,JSON&JSONP
http://blog.csdn.net/notechsolution/article/details/50394391
更详细的讲解,关于同源策略等:
http://www.cnblogs.com/JChen666/p/3399951.html
CORS跨域资源共享方式实现ajax跨域:在提供服务端设置response的header,客户端正常使用ajax即可实现跨域访问。
服务端配置:
http://blog.csdn.net/fdipzone/article/details/46390573/
个人实践:
需求简介:
我公司购买了某基金报价厂商的服务,发参数给他们的ajax服务,他们返回给我们一个基金id,我们拿着这个id再打开他们的url就可以看到
基金实时分析情况。目前该厂商的工程师已经明确通知我们,他们的服务已经支持跨域资源共享。
问题:
但我们使用测试html访问他们的服务时总是报错,而且在不同浏览器下现象不同。在ie下就不成功,在chrome上就能成功。
html如下:
<!DOCTYPE HTML>
<html>
<head>
<script src="jquery-1.8.0.min.js"></script>
</head>
<body>
<script type="text/javascript">
var url = "http://www.xxxx.com/api/adslfjalkfjalfjf";
var data = {page:'1',pageSize:'10',outputType:'json',version:'1',universeIds:'fasfefwa',sectiryDataPoints:'SecId',filters:'CustomCategoryId4',IN:'4747747474'};
$.ajax({
url: url,
data: data,
type: "get",
dataType:'json',
success:function(data){
console.log('success');
console.log(data);
},
error:function(er){
console.log('error');
}
});
</script>
</body>
</html>
解决:
把dataType改成jsonp就能在ie下取得数据,且在其他浏览器下依然能取到数据。原因不详。。。。。。。
success 回调function中取到的data格式是纯json格式。。。。
目前尚不清楚是不是跨域资源共享如果在ie下访问必须dataType是jsonp。。。。。。
什么是跨域访问,JSON&JSONP的更多相关文章
- 跨域访问之JSONP
跨域 在平常的工作中常常会遇到A站点的需要访问B站点的资源. 这时就产生了跨域访问. 跨域是指从一个域名的网页去请求另一个域名的资源.浏览器遵循同源策略,不允许A站点的Javascript 读取B站点 ...
- Ajax之跨域访问与JSONP
前言 同源策略的限制,使得ajax无法发出跨域请求.在许多情况下,我们需要让ajax支持跨域.以下是其中一种解决方案(JSONP).JSONP解决了跨域数据访问的问题. 在html中,具有src属性的 ...
- jsonp实现跨域访问json数据
前台js function init() { $.ajax({ url: 'http://localhost:8012/index.json', dataType: "jsonp" ...
- JQuery实现Ajax跨域访问--Jsonp原理
JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略).这一策略对于Java ...
- WebAPI的跨域访问CORS三种方法
跨域访问: JSONP的原理利用<script>没有跨域访问的限制,利用<script>的src跨域访问api,api会根据数据把json包装在一个js里面,这样跨域的客户端拿 ...
- Jquery 跨域请求JSON数据问题
制作网站时,我们有时候为了方便快捷会调用别人写好的API接口,或者是调用一些免费的API接口获得JSON数据.比如天气,农历,网站备案信息查询等. 但是,这些API接口都是别人自己服务器上的,我们要调 ...
- JSON跨域读取那点事(JSONP跨域访问)
最近在码一个小项目,需要远程读取json.因为需求很少,如果引用jquery使用其getjson方法就显得很浪费嘛= = 这篇文章很详细的解释了JSON跨域读取的前世今生,把原理讲得很透彻.特此分享. ...
- JSON和JSONP,原来ajax引用这个来实现跨域访问的
由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯 ...
- Jsonp跨域访问
很早之前看过好几篇跨域访问的文章,然后做项目的时候基本没有遇到跨域访问的问题.不过该来的还是会来,前些天终于让我遇到了.于是重温了一下原理这些,再进行实战.于是现在也敢通过实战后的一些理解来和大家分享 ...
随机推荐
- rabbitmq使用方法(二)
Work Queues In the first tutorial we wrote programs to send and receive messages from a named queue. ...
- 向安装包中添加设备 UDID. 蒲公英内测
向安装包中添加设备 UDID 前言 注:本文适用于只有苹果个人开发者账号.公司开发者账号.或教育开发者账号的 iOS 开发者. 对于没有企业开发者账号(299$)的开发者来说,要想使用蒲公英将自己的应 ...
- 获取域名,url,指定url参数的方法
1.js获取域名的方法 1) var domain = document.domain 2) var domain = window.location.host 2.获取url的方法 1) var u ...
- 喵哈哈村的魔法考试 Round #12 (Div.2) 题解
A 注意答案会超过int,考虑分l,r奇数和偶数来考虑即可. #include<bits/stdc++.h> using namespace std; long long l,r; int ...
- Python 将图片转化为 HTML 页面
最近在 GitHub 看到一个挺有意思的 Python 程序(img2html: Convert a image to HTML). 它能将图片的每个像素用文字代替,最后生成一个HTML文档,在浏览器 ...
- perf 安装到分析
https://yq.aliyun.com/articles/65255 https://yq.aliyun.com/articles/65257?spm=5176.100239.blogcont65 ...
- linux中apt-get和yum和wget的区别
1.RedHat系列:Redhat.Centos.Fedora等 yum 2.Debian系列:Debian.Ubuntu等 apt-get wget类似迅雷
- ds18b20采集温度并上报服务器
交叉编译器:arm-linux-gcc-4.5.4 Linux内核版本:Linux-3.0 主机操作系统:Centos 6.5 开发板:FL2440 温度传感器:ds18b20 注:此程序的客户端是在 ...
- asp.net 用JWT来实现token以此取代Session
先说一下为什么要写这一篇博客吧,其实个人有关asp.net 会话管理的了解也就一般,这里写出来主要是请大家帮我分析分析这个思路是否正确.我以前有些有关Session的也整理如下: 你的项目真的需要Se ...
- Vert.x入门教程之Hello World
http://blog.csdn.net/caihuangshi/article/details/51648182