json 和 jsonp的区别:
web开发中常要用到ajax来解决向服务端异步请求动态数据,数据传递方式有2种:json和xml。其中json到目前为止被推崇或者说是首选的数据传递方案。但是json不能解决跨域的问题(json只能请求服务器本地上的资源,如服务器在192.168.1.12上,那么json只能请求192.168.1.12服务器上的资源,至于远程请求其他服务器的资源,就办不到了)。jsonp能解决这个跨域问题。
Jsonp是如何产生的:
1、ajax直接请求普通文件存在跨域或无权访问的问题,无论是静态页面,动态页面,web服务还是wcf服务,只要存在跨域请求,一律不准。
2、web页面上调用js文件时则不受是否跨域的影响(即只是带有"src"这个属性的标签都能请求跨域的资源。如<script>,<img>,<a>,<iframe>等)
3、当客户端向服务端发送请求了,服务端要把数据装进js格式的文件里(文件的后缀名为json),供客户端调用和进一步处理;
4、 客户端拿到js格式的文件后,分析js处理json数据并展示
5、为了方便于客户端跨域向服务端请求数据,慢慢形成了一种非正式传输协议(允许客户端传递一个callback参数给服务端,服务器会把这个callback参数的值作为回调函数名来处理JSON数据),这样客户端就可以随意定制自己的函数来自动处理返回数据了。
(未完成,待续)
相关推荐
前端写成的json编辑器
前端开源库-json-web-storageJSON Web存储,简单的localstorage/sessionstorage包装器,提供与自动JSON序列化完全相同的API
前端项目-json2html,json2html-使用json2html的html模板
前端展示json数据,格式化,可折叠展开
jsonrpc-frontend:前端应用程序发送 json-rpc 请求进行测试
前端开源库-json-pathjson路径,用于nodejs和现代浏览器的json路径实用程序(json的xpath)。
一个很全的Android实例,有很多demo jquery-easyui+Android+ajax+HTML5, 视频,语音播放,项目list获取,前台展示。模拟应用宝APP下载。等等。
前端开源库-json-literalJSON文字,超集
前端开源库-json-proxyJSON代理、grunt plugin/cli实用程序/express中间件,用于将API请求代理到没有CORS或JSONP的远程服务器。
基于HTML5+CSS3的一个小程序,适合新手学习,主要用了跨域取json的方法
JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的...
NULL 博文链接:https://8366.iteye.com/blog/744057
前端开源库-json-schema-to-markdownJSON模式到Markdown,将JSON模式转换为Markdown文件。
web 前端开发 json 炸包 解压就能用 json应用全包,前后端数据交互
有关json与jsonp的区别(json才是目的,jsonp只是手段)介绍如下所示: 一言以蔽之,json返回的是一串数据;而jsonp返回的是脚本代码(包含一个函数调用); JSON其实就是JavaScript中的一个对象,跟var obj={}在质...
前端项目-json5,ES5时代的JSON。
1.json与jsonp的引入 在ajax中 JSON用来解决数据交换问题,而JSONP来实现跨域。 备注:跨域也可以通过服务器端代理来解决; 理解:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方...
JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。我们拿最近比较火的谍战片来打个比方,JSON是...
web嵌入json编辑器