首页新闻找找看学习计划

jsonp js代码看不懂

0
悬赏园豆:10 [已解决问题] 解决于 2013-09-17 21:32

服务端返回的是

flightHandler({
    "code": "CA1998",
    "price": 1780,
    "tickets": 5
});
我能看懂
{
    "code": "CA1998",
    "price": 1780,
    "tickets": 5
}是json,但在外面加了
flightHandler();表示什么意思,客户端为什么这样就能调用得到数据
var flightHandler = function(data){
        alert('你查询的航班结果是:票价 ' + data.price + ' 元,' + '余票 ' + data.tickets + ' 张。');
    };

        
999999999999999的主页 999999999999999 | 初学一级 | 园豆:6
提问于:2013-09-15 20:18
< >
分享
最佳答案
0
收获园豆:10
````` | 专家六级 |园豆:14268 | 2013-09-15 20:41

我就是看了这篇文章,现在是不懂

999999999999999 | 园豆:6 (初学一级) | 2013-09-15 21:09

@999999999999999: 

var flightHandler = function(data){ alert('你查询的航班结果是:票价 ' + data.price + ' 元,' + '余票 ' + data.tickets + ' 张。'); };

产生方法的callback事件。

之后加载这个JS文件

flightHandler({ "code": "CA1998", "price": 1780, "tickets": 5 });

于是就把这个参数传递过去了。

jsonp的核心则是动态添加<script>标签来调用服务器提供的js脚本.

````` | 园豆:14268 (专家六级) | 2013-09-15 21:38

@imfunny: 

产生方法的callback事件。什么意思,为什么为产生callback事件呢

999999999999999 | 园豆:6 (初学一级) | 2013-09-16 20:34

@999999999999999: 比如之前声明了一个方法。

var flightHandler = function(data){ alert('你查询的航班结果是:票价 ' + data.price + ' 元,' + '余票 ' + data.tickets + ' 张。'); };

对吧。在后续的执行的时候,引入了一个js文件。。js文件上的内容是

flightHandler({ "code": "CA1998", "price": 1780, "tickets": 5 });

实际上不就相当与执行flightHandler方法,传递的参数为{ "code": "CA1998", "price": 1780, "tickets": 5 }了吗?

````` | 园豆:14268 (专家六级) | 2013-09-16 20:37
其他回答(2)
0

flightHandler像一个函数名,

angelshelter | 园豆:9676 (大侠五级) | 2013-09-15 20:23

为什么这样写可以呢,是依据js什么语法

支持(0) 反对(0) 999999999999999 | 园豆:6 (初学一级) | 2013-09-15 20:27
0

回调函数而已/

Beyond-bit | 园豆:2663 (老鸟四级) | 2013-09-15 21:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册