jsonp 跨域请求数据基本思路
jsonp实现跨域数据请求的基本思路。
客户端:
$.ajax({
type: "get",
async: false,
url: "http://www.xx.com/index.php?m=Index&c=Icenew&a=getNew",
dataType: "jsonp",
jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
success: function(data){
// alert(data);
var strF = "<li><a href='"+data[0]['aid']+"'>"+data[0]['title']+"</a></li><li><a href='"+data[1]['aid']+"'>"+data[1]['title']+"</a></li>";
$('.news_con ul').html(strF);
},
error: function(){
console.log('fail');
}
});
服务端:
class IcenewController extends CommonController{
public function getNew(){
$arcs = M('content')->where(array('cid'=>61))->field('title,aid')->limit(6)->select();
echo $_REQUEST["callback"]."(".json_encode($arcs).")";
}
}
可采用客户端
header("Access-Control-Allow-Origin: *");
同样可解决跨域
setInterval(function(){
var data = window.location.host;
$.getJSON("http://127.0.0.1/qshx/Home/Index/log.html?callback=?",{'data':data},function(json){
var msg = '';
if(json){
console.log('success');
}else{
console.log('error');
}
});
},3600000)