jsonp格式是什么意思

百科问答 投稿 8700 0 评论

jsonp格式是什么意思

json格式?以下内容主要是针对遇上jsonp格式是什么意思的问题,我们该怎么理解呢。JSONP(JSONwithPadding),是一种使用JavaScript加载并解析具有“padding”的JSON数据的方法,在跨域资源共享(CORS)方案之前就已经存在,下面这篇文章将为你提供一个参考思路,希望能帮你解决到相关问题。

json格式

JSON(JavaScript Object Notation,JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

jsonp格式是什么意思

1、JSONP(JSONwithPadding),是一种使用JavaScript加载并解析具有“padding”的JSON数据的方法,在跨域资源共享(CORS)方案之前就已经存在。

2、JSONP解决了跨域请求存在的安全性问题。

3、换句话说,jsonp是一种利用标签跨域请求数据的技术。

4、JSONP主要由三部分组成:一个回调函数,一个JSON对象(也可能是字符串)以及一个标签。

5、当请求完成后,服务器端通过标签把json对象添加到标签里,并且把回调函数的函数名放到json对象里,以传给客户端。

6、客户端则在执行脚本时执行这个回调函数,把服务器端传过来的json对象作为参数传入函数,最终客户端拿到json对象,从而实现跨域访问。

7、JSONP可以说是跨域资源共享(CORS)的早期解决方案,它是一种利用标签引入一段客户端脚本,通过这段脚本的帮助从远程服务器获取js文件的共享机制,同时在不破坏原有浏览器环境安全限制的前提下,实现跨域文件的访问。

8、JSONP技术的优势,首先,JSONP技术相比传统AJAX请求,有更好的兼容性,因为它是一种在跨域环境中使用标签请求数据最终形成一种解决方案,容易兼容老版本的浏览器,没有现代浏览器中CORS这样安全性要求较高的请求。

9、客户端发送请求更加简单,它只需要使用标签请求数据,而不需要使用强大复杂的XMLHttpRequest对象。

10、服务器的响应内容可以是任意的脚本,而不仅仅是JSON对象,如果需要在客户端完成复杂的数据处理,可以自定义回调函数,服务器返回的脚本格式的函数代码,客户端直接运行拿到结果,Problemsolved。

11、但JSONP也有自身的局限性,首先JSONP类型的请求只能是GET类型的请求,而不能是POST,有些时候可能带来很大的局限;其次,如果服务端不支持jsonp,使用jsonp也无济于事;再次,因为服务器端必须把响应内容格式化成脚本函数的形式,才可以通过标签加载,因此jsonp的返回是不可控的,令客户端在分析其中内容变得困难,有时候还会暴露客户端元数据;最后,某些服务器端框架可能不支持对JSONP请求的响应,这样也会对使用JSONP技术提出较多限制。

12、JSONP是一种利用标签跨域请求数据的技术,它具有兼容性好、操作方便、跨域访问灵活性高等优势,但也存在POST请求限制、无法接收服务器数据等劣势,不能代替XMLHttpRequest对象的应用,因此JSONP的使用场景大多都是在对安全符合要求不是太高的情况下,方便快捷地实现跨域访问,或者提供给一般的第三方系统用于调用的情况。

以上就是为你整理的jsonp格式是什么意思全部内容,希望文章能够帮你解决相关问题,更多请关注本站科技问答百科栏目的其它相关文章!

编程笔记 » jsonp格式是什么意思

赞同 (42) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽