Jsonp和json

1.JSON是一种数据交换的格式,jsonp是一种非官方的跨域交换协议

2  JSON 格式

    JSON只有两种数据类型描述符,大括号{}和方括号[],其余英文冒号:是映射符,英文逗号,是分隔符,英文双引号""是定义符。

     大括号{}用来描述一组“不同类型的无序键值对集合”(每个键值对可以理解为OOP的属性描述),方括号[]用来描述一组“相同类型的有序数据集合”(可对应OOP的数组)。

    上述两种集合中若有多个子项,则通过英文逗号,进行分隔。

     键值对以英文冒号:进行分隔,并且建议键名都加上英文双引号"",以便于不同语言的解析。

3.JSONP在客户端的实现方式

   

复制代码

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
     <title>Untitled Page</title>
      <script type="text/javascript" src=jquery.min.js"></script>
      <script type="text/javascript">
     jQuery(document).ready(function(){ 
$.ajax({ type:
"get", async: false, url: "http://flightQuery.com/jsonp/flightResult.aspx?code=CA1998", dataType: "jsonp", jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据 success: function(json){ alert('您查询到航班信息:票价: ' + json.price + ' 元,余票: ' + json.tickets + ' 张。'); }, error: function(){ alert('fail'); } }); }); </script> </head> <body> </body> </html>

     jquery在处理jsonp类型的ajax时自动帮你生成回调函数并把数据取出来供success属性方法来调用.也可以使用jquery的$getJSON方法来跨域请求(虽然jquery把jsonp的处理归入了ajax,但他们是不同的东西)

posted on 2013-03-11 23:10  李乐已存在  阅读(207)  评论(0编辑  收藏  举报

AmazingCounters.com