当前位置:  开发笔记 > 编程语言 > 正文

什么是JSONP,为什么创建它?

如何解决《什么是JSONP,为什么创建它?》经验,为你挑选了7个好方法。

我理解JSON,但不了解JSONP.维基百科关于JSON的文档是JSONP的最佳搜索结果.它说:

JSONP或"带填充的JSON"是JSON扩展,其中前缀被指定为调用本身的输入参数.

咦?什么电话?这对我没有任何意义.JSON是一种数据格式.没有电话.

在第二个搜索结果是由某些人叫雷米,谁写的这个约JSONP:

JSONP是脚本标记注入,将响应从服务器传递到用户指定的函数.

我可以理解这一点,但它仍然没有任何意义.


那么什么是JSONP?它为什么被创建(它解决了什么问题)?为什么我会用它?


附录:我刚刚在维基百科上为JSONP创建了一个新页面 ; 根据jvenema的回答,它现在对JSONP进行了清晰而全面的描述.



1> jvenema..:

它实际上并不太复杂......

假设您在域example.com上,并且您想向域example.net发出请求.要做到这一点,你需要跨越域边界,在大多数浏览器领域都是禁忌.

绕过此限制的一项是

但是这有点不方便,因为我们必须从脚本标记中获取此数组.所以JSONP创建者决定这会更好(并且它是):

script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://www.someWebApiServer.com/some-data?callback=my_callback';

注意那边的my_callback函数?所以 - 当JSONP服务器收到你的请求并找到回调参数 - 而不是返回普通的js数组时,它将返回:

my_callback({['some string 1', 'some data', 'whatever data']});

看看利润在哪里:现在我们得到自动回调(my_callback),一旦我们获得数据就会被触发.
这就是JSONP的全部知识:它是一个回调和脚本标签.

注意:这些是JSONP使用的简单示例,这些不是生产就绪脚本.

基本JavaScript示例(使用JSONP的简单Twitter提要)


    
    
    
        
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有