跨域请求
来源:互联网 发布:天下游源码 编辑:程序博客网 时间:2024/05/19 01:07
更多资源:探讨跨域请求资源的几种方式
由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域
JSONP的规则:
a. 客户端页面中在script标签(或javascript动态创建)使用src来请求跨域Action,并提供callback函数名称以及所需数据。
b. 跨域服务器提供一个可以处理JSONP服务请求的Action,并返回客户端页面所需要的javascript代码,格式如:callback(responseJsonData);
c. 客户端页面中创建一个名为callback的函数来处理跨域请求的返回结果;
在日常使用中,大家可以以下几种方式来使用JSONP:
1 . 通过script标签加载中执行(不常用)
<script> var _script = document.createElement('script'); _script.type = "text/javascript"; _script.src = "http://localhost:8888/jsonp?callback=f"; document.head.appendChild(_script); </script>
2. 通过javascript脚本动态生成
//回调函数function dataHandler(data){ //处理代码}//提供jsonp服务的url地址(什么类型的地址无所谓,只要返回值是一段javascript代码)var url = “http://www.a.com/Domain.action?callback=dataHandler&id=1024”;//创建script标签var script = document.createElement(“script”);//传入urlscript.setAttribute(“src”, url);//加入head内并执行document.getElementsByTagName('head')[0].appendChild(script);3. 通过jQuery的方式调用
$.ajax({ type:"get", async: false, url: " http://www.a.com/Domain.action?id=1024", dataType:"jsonp", jsonp:"callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) jsonpCallback:"dataHandler",//自定义的jsonp回调函数名称,如您不写,可以直接在下面的success中处理数据。 success:function(json){ //处理数据 }, error: function(){ //处理异常 }});
阅读全文
0 0
- ajax请求跨域请求
- 跨域请求(jsonp,请求头)
- ajax 跨域请求
- Jquery 跨域请求
- AJAX跨域请求
- JS跨域请求
- JS跨域请求
- Ajax跨域请求
- $.getJSON()跨域请求
- js跨域请求
- ajax跨域请求
- $.getJSON()跨域请求
- jquery 跨域请求
- $.getJSON()跨域请求
- ajax跨域请求
- 跨域请求
- JS跨域请求
- JS跨域请求
- Python 中os与sys两模块的区别
- 微服务的12个要素
- Linux进程(一)
- quartz学习1
- WIN8.1虚拟机键盘不可用解决方案
- 跨域请求
- rails最简单调试
- 序列化的作用
- php+redis实现消息队列
- 设置窗体的背景
- 预告| ZStack&阿里云联合发布混合云解决方案
- 对单一职责原则的理解
- latex文件里面一个章节放的图表太多编译出现oo many unprocessed floats的解决方案
- ThinkSNS积分商城系统 一站式解决大中小企业商城建站需求