标签:
可通过jsonp解决
php代码中加一行 $callback = $_GET[‘callback‘]; 输出 $callback.‘(‘.json_encode($data) . ‘)‘;
jqeury调用jsonp格式
dataType:"jsonp",
jsonp:‘callback‘,
<?php $name = $_SERVER["QUERY_STRING"]; $callback = $_GET[‘callback‘]; function getfiles($path){ global $callback; $i = 0; $data = array(); foreach(scandir($path) as $afile){ if($afile==‘.‘||$afile==‘..‘) continue; if(is_dir($path.‘/‘.$afile)) { getfiles($path.‘/‘.$afile); } else { $data[$i+1] = $afile; $i = $i + 1; } } return $callback.‘(‘.json_encode(array(‘result‘=>0,‘data‘=>$data)) . ‘)‘; } function match($text, $lb = ‘^‘, $rb = ‘$‘) { if ($lb == ‘‘) $lb = ‘^‘; if ($rb == ‘‘) $rb = ‘$‘; $pattern = "/(?<=$lb)(.*?)(?=$rb)/"; if (preg_match($pattern, $text, $matches)){ return $matches[0]; } else { return ‘‘; } } $name = match($name,‘name=‘,‘&‘); echo getfiles($name);
后来发现不使用js跨域也可以实现跨域请求,直接在php里请求跨域的链接,然后输出想要的结果,用jquery的json格式调用就行了。这样会省去更多的麻烦
标签:
原文地址:http://www.cnblogs.com/lcj0308/p/4614260.html