先设hosts:127.0.0.1 www.qq.com
(一)先来个jquery的
//jsopnp跨域
function test1(){
$.ajax({
url:'http://www.qq.com/js/jsonp.php?uid=123456',
dataType:"jsonp",
jsonp:"jsoncallback",
success:function(data){
alert(data.uid);
}
});
}
function test(){
$.getJSON("http://www.qq.com/js/jsonp.php?jsoncallback=?&uid=123456",function(data){alert(data.uid)});
}
jsonp.php代码:
<?php
//jsonp跨域
$jsonp = $_GET["jsoncallback"];
$user = json_encode(array("uid"=>$_GET["uid"]));
echo $jsonp."(".$user.")";
?>
(二)原生javascript跨域解决
<script type="text/javascript">
//为了获取http://www.qq.com服务器上数据,使用jsonp
function jsonpCallbacktest(result)
{
alert("jsonp跨域");
alert(result.uid);
alert(result.username);
}
</script>
<script type="text/javascript" src="http://www.qq.com/js/jsonpcheck.php?jsonp=jsonpCallbacktest"></script>
jsonpcheck.php文件代码:
<?php
$function = $_GET['jsonp'];
echo $function."({ uid:12345678,username:'testname'} );";
?>