java ajax 跨域访问_js,java,ajax实现跨域访问及其原理

这篇文章对跨域访问做了较为细致得分析,我这里做下简单总结

1.实现跨域访问原理:

浏览器由于同源策略不能做跨域访问,但是

jsonp模式:

JSONP(JSON with Padding)是JSON的一种”使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的script 元素是一个例外。利用 

2.需要注意得点:

通过script获得内容只有script标签能识别得数据才不会报错,所以想要通过这种方式获得数据,需要将这个数据封装起来,变成script能够识别得,此时我们可以设置一个回调函数callback,本域有,其他域同样也有,达到将数据弄过来得效果。

3.jquey实现方式

$.ajax({

url:'http://localhost:8888/other/other.jsp',

type:'post',

data:{'params':'fromjsonp'},

dataType:"jsonp",

jsonp:"callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)

jsonpCallback:"getResult",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以不写这个参数,jQuery会自动为你处理数据

success: function(data){

},

error: function(){

alert('fail');

}

});

这里jsonp:通过它能获得对应得回调函数getParms(callback)获得真正回调函数,一般jquey不指定的话也会自动生成一个回调函数

其他域也许有这个函数使用得到得内容需符合script语法,能被识别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值