被请求站(A) 控制器层
public function actionHistory(){ $db=\Yii::$app->db; $session=\Yii::$app->session; $usm=$session['usm']; $re=$db->createCommand("select * from user where username='$usm'")->queryOne(); $uid=$re['u_id']; $ar=$db->createCommand("select * from action where u_id='$uid'")->queryAll(); $br=array();//定义一个空数组 foreach($ar as $key=>$val){ $br[$key]=$val['g_id']; } $bb = implode(',',$br); $cr=$db->createCommand("select * from images where g_id in(".$bb.")")->queryAll();//需要跨站请求的数据 //动态执行回调函数(跨域请求开始) $result=json_encode($cr); $callback=$_GET['callback']; echo $callback."($result)";//跨域请求结束 } 请求站(B)控制层 //跨域展示 public function actionShow(){ return $this->render('show'); } 请求站(B)视图层 <script src="jquery-1.7.2.min.js"></script> <div id="div"></div> <script type="text/javascript"> $.ajax({ url:"http://www.shopa.com/index.php?r=home/history", dataType:'jsonp', data:'get', jsonp:'callback', success:function(msg) { //alert(msg); var str='<table border=1><tr><th>ID</th><th>标题</th><th>名字</th><th>时间</th><th>商品价格</th></tr>' for(var i=0;i<msg.length;i++) { str+='<tr>' str+='<td>'+msg[i].g_id+'</td>' str+='<td>'+msg[i].title+'</td>' str+='<td>'+msg[i].photo+'</td>' str+='<td>'+msg[i].time+'</td>' str+='<td>'+msg[i].price+'</td>' str+='</tr>' } str+='</table>' $('#div').html(str) } }); </script>