jquery getJSON跨域取数据

 

分站的过程中,需要跨域请求数据,出现小的问题,记录一下,

 

test.php,在www.a.com根目录中

 

test.php代码:

 

Php代码 

 

<?php  
    $dal=$_GET['callback'];  
    $arr=array("name"=>"4nail", "age"=>20);  
    $jarr=json_encode($arr);  
    echo $dal.'('.$jarr,')';  
?>  

 

 test.html在www.b.com根目录下

 

test.html代码如下:

 

Html代码 

 

<!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>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
<title>无标题文档</title>  
<script language="javascript" type="text/javascript" src="Scripts/jquery.min.js"></script>  
<script type="text/javascript">  
    $(function(){  
        $("#test").click(function(){  
            $.getJSON("http://www.a.com/test.php?callback=?",function(data){  
                alert(data.name);                             
            });                     
        });  
    });  
</script>  
</head>  

<body>  
<div style="width:100px;height:100px;background-color:#F00" id="test">点击跨域加载</div>  
</body>  
</html>  

 

 

 

在,$.getJSON()中,url参数,后面要加个,callback=?,至于callback,可以自定义其他的名称,在test.php文件中,改相应的名称,就ok啦!在输出的json 数据时,必须要加上$_GET['callback']和两个括号:echo $dal.'('.$jarr,')';z至于为什么要加,网上很多文章,我这里不再陈述!

你可能感兴趣的:(jquery)