JSONP(Json with padding)

JSONP:一种非官方跨域数据交互协议

JSONP怎么产生的

JSONP的原理

看上面的来源加以理解

上面说过了,script是不受跨域影响的

那么我们可以在我们代码中引用B服务器的文件

1 <script type="text/javascript" src="http://demo.com/jsonp/demoResult.aspx?callback=jsonpCallback"></script>  

在B服务器端demoResult.aspx会根据我们传的callback参数jsonpCallback自动返回数据

//怎么个意思呢,将处理完的json放入jsonpCallback(json);

在我们A端,有一个创建一个函数

1 function jsonpCallback(data){
2     ................
3 };

那么,当B服务器返回jsonpCallback(json);的时候不就正好调用了A端的jsonpCallback函数吗,数据也从B服务器传到A了

样例

jQuery支持JSONP协议

下面是其中的一种方式



 1 $.ajax({
 2     type:"get",
 3     async : false,
 4     url:"http://demo.com/jsonp/demoResult.aspx?profileId=0001",
 5     dataType :"jsonp",
 6     jsonp:"callback",
 7     jsonpCallback:"demoHandler",
 8     success:function (json) {
 9         alert(json);
10     },
11     error:function () {
12         alert("Fail!");
13     }
14 })

 
时间: 2024-10-23 16:18:50

JSONP(Json with padding)的相关文章

SpringMVC JSONP JSON支持

1.ajax端 $.ajax({ type: "post", dataType: "jsonp", //传递给请求处理程序,用以获得jsonp回调函数名的参数名(默认为:callback) jsonp: "callback", //自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 jsonpCallback:"success_jsonpcallback", url: "http://localh

Cross-origin resource sharing JSON with Padding

https://zh.wikipedia.org/wiki/跨来源资源共享 跨来源资源共享(CORS)是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略[1],是 JSONP 模式的现代版.与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求.用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好.另一方面,JSONP 可以在不支持 CORS 的老旧浏览器上运作

详解 JSON 和 JSONP

JSON 介绍 1.什么是 JSON? > JSON 指的是 JavaScript 对象表示法 (JavaScript Object Notation) > JSON 是一种轻量级的数据交换格式,比 XML 更小.更快.更易解析 > JSON 独立于语言的文本格式 > JSON 易于人阅读和编写,同时也易于机器解析和生成 JSON 最初来自于 JavaScript,后来被所有的编程语言支持,成为了一种通用的字符串数据格式. 2.JSON 字符串的格式 2-1."名称/值&

JSON和JSONP

说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决.目前为止首选的方案还是用JSON来传数据,靠JSONP来跨域.JSON是一种数据交换格式,而JSONP是一种非官方跨域数据交互协议. JSON是一种基于文本的数据交换方式,或者叫做数据描述格式. JSON的优点: 1.基于纯文本,跨平台传递极其简单: 2.Javascript原生支

Ajax 跨域请求 jsonp获取json数据

遇到Ajax的跨域请求出问题 找了中解决办法如下: 参考内容:http://justcoding.iteye.com/blog/1366102 由于受到浏览器的限制,该方法不允许跨域通信.如果尝试从不同的域请求数据,会出现安全错误.如果能控制数 据驻留的远程服务器并且每个请求都前往同一域,就可以避免这些安全错误.但是,如果仅停留在自己的服务器上,Web 应用程序还有什么用处呢?如果需要从多个第三方服务器收集数据时,又该怎么办? 理解同源策略 同源策略阻止从一个域上加载的脚本获取或操作另一个域上的

说说JSON和JSONP,也许你会豁然开朗

由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocket,因此都不能算是ST2的原生解决方案,原生的只有AJAX. 说到AJAX就会不可避免的面临两个问题,第一

说说JSON和JSONP,也许你会豁然开朗(转)

前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的 WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持 WebSocket,因此都不能算是ST2的原生解决方案,原生的只有AJAX. 说到AJAX就会不可避免的面临两个

简单说一下 JSON和JSONP

JSON和JSONP,但从缩写看,可能会以为他们是很相似的两个名词,但他们除了缩写相似外,他们是两种类型的概念. 首先: JSON(JavaScript Object Notation)即JavaScript对象表示法,是一种轻量级的数据交换格式,注意:JSON是数据格式,也就是用来保存数据用的, JSONP(JSON with Padding) 是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题,即是一种非官方跨域数据交互协议. 举例说明:我们拿最近比较火的谍战片来打个比方

json与jsonp的区别

前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocket,因此都不能算是ST2的原生解决方案,原生的只有AJAX. 说到AJAX就会不可避免的面临两个问题