@json和jsonp的区别?
    php或者asp.net很容易取到json的数据。但是如果用js,因为ajax不能跨域,所以你还要绕一下,让你的php来先取数据。
    但是用jsonp就不一样了,HTML的<script>的标签 的src不存在跨域问题,可以是碰到域名的,一般jsonp的用法是你在本地写好解析的函数,
然后通过src把函数名传递过去,返回的代码会自动调用这个函数。
    也就是说,jsonp通过src封装的,解决了ajax跨域不能获取数据问题。


@什么是跨域?
    比如你的域名是a.com,那么ajax只能请求a.com的某个页面,请求b.com是不被允许的。

@案例

<script type="text/javascript">
        //http://api.map.baidu.com/telematics/v3/weather?location=%E5%91%A8%E5%8F%A3&output=json&ak=kGGYIYTmRVQOWPUjgk3w7QZ1
        /* $.get('http://api.map.baidu.com/telematics/v3/weather?location=%E5%91%A8%E5%8F%A3&output=json&ak=kGGYIYTmRVQOWPUjgk3w7QZ1',function(data,status){
                alert("Data Loaded: " + data+"|"+status);
        },"jsonp"); */
        
        
        $.ajax({
            type:"get",
            async:false,
            url:'http://api.map.baidu.com/telematics/v3/weather?location=%e5%91%a8%e5%8f%a3&output=json&ak=kGGYIYTmRVQOWPUjgk3w7QZ1',
            dataType:"jsonp",
            success:function(json){
                alert(json);
            },
            error:function(){
                alert("fail");
            }
        });
    </script>

posted on 2015-11-06 21:22  学到老死  阅读(325)  评论(0)    收藏  举报