jsonp(即JSON with padding),也就是json填充。
背景:
json格式的数据对比xml格式的数据,性能上已经有了很大的提升。但是json可以被本地执行仍然会导致几个重要的性能问题。使用XHR请求数据的时候,json格式的数据被当成字符串返回,然后被eval()函数转化为js原生对象。在使用动态脚本注入的时候,json又被当成另外一个js文件,并作为原生代码执行。
json-p的工作原理:
json-p就是将这些json数据封装在一个回掉函数里面。
json-p的工作效率:
回掉函数使得文件的大小略微增大,但是在解析的时候,效率大大加快,因为数据是按照原生的数据格式来解析的。
不适合使用json-p的情况:
因为json-p是可执行的js脚本它可能被任何人调用并使用动态脚本注入的方式插入到任何网站,所以不要将任何敏感的字符放在json-p中。
(ps:在不涉及敏感字段的情况下,json-p是一种解决跨域问题的方式)