码迷,mamicode.com
首页 > Web开发 > 详细

jsonp跨域访问数据,例:得到其他地址的天气接口

时间:2020-05-10 11:06:54      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:问题   echo   round   lang   安全   code   cal   encode   body   

jsonp跨域访问数据

由于出于HTTP安全问题考虑,ajax是不能获取非本域的文件的。

但是我们可以通过scrip的src请求其他页面。

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jsonp</title>
</head>
<body>
    <script type="text/javascript">
    function fun(data){
        console.log(data[1]);
    }

    </script>
<!-- 用scrip引用相当于调用 fun() 函数,PHP可以将参数传过来,这样就可以得到数据了。src可以请求写其他网络地址-->
    <script type="text/javascript" src="jsonp.php?_jsonp=fun"></script>
</body>
</html>

PHP输出fun(参数)就可以带参数的调用方法了

<?php 
$callback = $_GET[‘_jsonp‘];//得到fun字符串

$arr = array("zhangsan","lisi","zhaoliu");

echo $callback."(".json_encode($arr).")";//拼接成 fun($arr) ,html就可以调用方法了

 ?>

 

举个例子,如何访问天气网的json数据,数据在非域的地方,这种情况我们就可以使用以上的方法了

 

jsonp跨域访问数据,例:得到其他地址的天气接口

标签:问题   echo   round   lang   安全   code   cal   encode   body   

原文地址:https://www.cnblogs.com/shangrao/p/12862183.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!