美文网首页
Jquery跨域获取数据

Jquery跨域获取数据

作者: 过桥 | 来源:发表于2015-09-11 14:38 被阅读449次

    接入 PM2.5 数据

    数据来源

    http://pm25.in
    

    接入方式

    使用 Jquery ,直接请求数据,使用 jsonp 完成Ajax的跨域请求

    代码示例

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>PM2.5调用页面</title>
    </head>
    <body>
        <div id="pm2_5">
        </div>
        <br />
        注:返回数组中多一条记录 监测点为:null ?
    
        <script src="Scripts/jquery-1.7.2.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function() 
        { 
            //官网为 http://www.pm25.in/   调用pm2.5  返回 json
    //url中 city 为 城市名,token 为 申请的AppKey(官网API页面右侧申请)
    var url = "http://pm25.in/api/querys/pm2_5.json?city=北京&token=7rMwJqMxrmuDRFsAxBqP";
            $.ajax({
                  type: 'POST',
                  url: url,
                  dataType : "jsonp",// 将dataType屏蔽后会运行error方法
                  success: function(json){   
                    //遍历网站返回的pm2.5数据           
                     $("#pm2_5").append("<table>");
                     $("#pm2_5").append("<tr><td width='200px'>监测点</td><td width='200px'>PM2.5</td><td width='200px'>等级</td><td width='200px'>监测时间</td></tr>");
                        $.each(json, function (i, point){
                            $("#pm2_5").append("<tr><td>"+json[i].position_name+"</td><td>"+json[i].pm2_5+"</td><td>"+json[i].quality+"</td><td>"+json[i].time_point+"</td></tr>");
                        })
                     $("#pm2_5").append("</table>");   
                  },
                  error:function(exception){
                        alert('调用失败!异常状态文本:'+exception.statusText);
                  }
            });
        })
        </script>
    
    </body>
    </html>
    

    补充

    Ajax的跨域请求有两类解决方案 jquery.ajax jsonp 格式和 jquery.getScript 方式。
    详细参考:http://julying.com/jQuery-1.6-api/#p=jQuery.ajax

    相关文章

      网友评论

          本文标题:Jquery跨域获取数据

          本文链接:https://www.haomeiwen.com/subject/lippcttx.html