Json 、 Jsonp

SONP is simply a hack to allow web apps to retrieve data across domains. It could be said that it violates the Same Origin Policy (SOP).

The way it works is by using Javascript to insert a "script" element into your page. Therefore, you need a callback function. If you didn‘t

have one, your Javascript would have no way to access the JSON object. But by using JSONP, your Javascript code can call the callback

function. So you must specify the callback name. So your function might look like this:

private static String getJSONPObject(String callback, String s) throws JSONException {
    return callback + "(" + new JSONObject(s) + ")";
}

json格式:
{
    "message":"获取成功",
    "state":"1",
    "result":{"name":"工作组1","id":1,"description":"11"}
}
jsonp格式:
callback({
    "message":"获取成功",
    "state":"1",
    "result":{"name":"工作组1","id":1,"description":"11"}
})
Jquery插件:https://github.com/congmo/jquery-jsonp
时间: 2024-12-22 16:55:57

Json 、 Jsonp的相关文章

Ajax、json、jsonp

现在前后端跨域传输比较流行的技术就是jsonp了,传递格式那就是json,至于ajax,历史比较久了吧,05年的时候虽然才开始高调登台,但从技术利用历史上看,98年的时候就已经在使用了. 由于现在很多人(当然我们团队也是)都在使用jquery.ext等各种库,而且使用这些库来调用jsonp非常容易,但这里有很多误解.因为这些库均把jsonp归入了ajax范畴(可能是为了方便整个库的结构开发,毕竟两者或多或少还是有一些关系的).一直想写一下ajax.json.jsonp三者之间的区别,但苦于没时间

JSON、JSONP、Ajax的区别

什么是JSON JSON是一种基于文本的数据交换方式,或者叫做数据描述格式. JSON的优点: 1.基于纯文本,跨平台传递极其简单: 2.Javascript原生支持,后台语言几乎全部支持: 3.轻量级数据格式,占用字符数量极少,特别适合互联网传递: 4.可读性较强,虽然比不上XML那么一目了然,但在合理的依次缩进之后还是很容易识别的: 5.容易编写和解析,当然前提是你要知道数据结构: JSON的缺点当然也有,但在作者看来实在是无关紧要的东西,所以不再单独说明. JSON的格式或者叫规则: JS

json、jsonp的定义和区别

一.区别 简单来说,json是一种数据交换格式,jsonp是一种非官方跨域数据交互协议.json描述的是信息的格式,而jsonp是信息传递双方约定的方法.json返回的是一串数据,而 jsonp返回的是脚本代码(包含一个函数调用). json是理想的数据交换格式,但是没有办法跨域直接获取,于是就将json包裹在一个合法的js语句中作为js文件传过去.json是想要的东西,jsonp是获取这个东西采取的方法,所以最终获得和处理的还是json.所以可以这么说,json是目的,jsonp只是手段.js

JSON、JSONP、XML的区别

这两天看jquery手册的时候看到了jsonp.发现手册把jsonp与json放在一起讲解了,所以想写篇文章 梳理一下这三者的关系. jsonp: jsonp是json的一种"使用模式",可以让网页从别的域名(网站)获取资料,即跨域读取数据. 因为同源策略所以当我们从不同的域访问数据时需要使用jsonp.同源策略是浏览器的安全功能. jsonp的核心则是动态的添加<script>标签来调用服务器的js脚本. 看jsonp.html页面的代码: <!DOCTYPE ht

chrome浏览器下用jQuery的load函数来跨域加载页面,响应状态status为(canceled)是什么情况? JSON和JSONP,也许你会豁然开朗,含jQuery用例

http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html 问题来源:http://q.cnblogs.com/q/63123/ 问题出现的环境: 1:两个domain相同端口号不同的域名. 2:MVC4.0框架 3:从一个域名下用  jQuery.load("另一个域名下的页面"): 4:响应失败 : 响应状态status为(canceled) 请问这是什么情况呢 ?  我在IE下就没问题,可以

说说JSON和JSONP

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

json与jsonp区别浅析(json才是目的,jsonp只是手段) (转)

一言以蔽之,json返回的是一串数据:而jsonp返回的是脚本代码(包含一个函数调用): JSON其实就是JavaScript中的一个对象,跟var obj={}在质上完全一样,只是在量上可以无限扩展.简单地讲,json其实就是JavaScript中的对象(Object)和数组(Array,其实也是对象)这倆好基友在那儿你嵌我我嵌你地套上n多层,以此模拟出许多复杂的数据结构. json易于人阅读和编写,也易于机器解析和生成,相对网络传输速率较高,功能型网站前后端往往要频繁大量交换数据,而json

170109、JSONP是什么

一.JSONP的诞生 首先,因为ajax无法跨域,然后开发者就有所思考 其次,开发者发现, <script>标签的src属性是可以跨域的 把跨域服务器写成 调用本地的函数 ,回调数据回来不就好了? json刚好被js支持(object) 调用跨域服务器上动态生成的js格式文件(不管是什么类型的地址,最终生成的返回值都是一段js代码) 这种获取远程数据的方式看起来非常像ajax,但其实并不一样 便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP. 传递一个callback参

简单说一下 JSON和JSONP

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