当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

js跨域访问

发表于: 2014-09-29   作者:zhongzhengmin   来源:转载   浏览:
摘要: Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料。 由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他
Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料。
由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是 JSON,而是任意的JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。
JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至 客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。
JQuery下:
  1. $.getJSON
1
2
3
4
5
6
7
8
9
10
11
<script>
     $(document).ready( function () {
         function (data) {
             $.each(data.items,
             function (i, item) {
                 $( "<img/>" ).attr( "src" , item.media.m).appendTo( "#images" );
                 if (i == 3) return false ;
             });
         });
     });
jsoncallback=?,其中?会自动替换为function(data)函数。
 
2. $.ajax
1
2
3
4
5
6
7
8
9
$.ajax({
     dataType: 'jsonp' , //数据类型为jsonp  
     data: 'id=10' ,
     jsonp: 'jsonp_callback' ,   //服务端用于接收callback调用的function名的参数
     url: 'http://www.yiwuku.com/getdata' ,
     success: function () {
         // do stuff
     },
});

js跨域访问

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
本文主要来源于博客园中其他博客:http://www.cnblogs.com/rainman/archive/2011/02/21/1960044.htm
什么引起了ajax不能跨域请求的问题? ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而
什么引起了ajax不能跨域请求的问题? ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而
1,最近有个需求,用Js获取Html标签<input type="file"/>的路径!遇到代码拒绝访问,提示安全
其实在大部分互联网web产品中,我们通常会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的
其实在大部分互联网web产品中,我们通常会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的
大一些的网站,通常都会有好几个服务器 ,每个服务器运行着不同功能的模块,使用不同的二级域名,而
通过浏览器,使用Ajax发送请求时,一直存在: Origin is not allowed by Access-Control-Allow-Origi
JavaScript跨域访问有多种方式: p3p跨域写cookie 通过jsonp的方式跨域调用 跨域post表单 Ajax跨域实
出于安全的考虑,如果你要从www.a.com通过Ajax来请求另外一个网站www.b.com的内容,浏览器是不允许
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号