html5前端常用的jsonp,web的json的区别与原理
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数据),这样客户端就可以随意定制自己的函数来自动处理返回数据了。
(未完成,待续)
相关推荐
fengchao000 2020-06-17
adonislu 2020-05-16
zmosquito 2020-05-10
adonislu 2020-05-10
somebodyoneday 2020-04-22
fengchao000 2020-04-22
fengchao000 2020-04-11
Richardxx 2020-03-07
somebodyoneday 2020-03-06
fengchao000 2020-03-05
somebodyoneday 2020-02-16
xiaouncle 2020-02-13
baijinswpu 2020-01-29
fengchao000 2020-01-10
fengchao000 2019-12-25
newthon 2019-12-23
somebodyoneday 2013-07-11