网络上流传的ajax解决跨域的方法
<script type="text/javascript">
$.ajax({
url:"http://crossdomain.com/services.php",
dataType:'jsonp',
data:'',
jsonp:'callback',
success:function(result) {
for(var i in result) {
alert(i+":"+result[i]);//循环输出a:1,b:2,etc.
}
},
timeout:3000
});
</script>
但是我使用这种方法在请求腾讯的api的时候无法获取数据,最后在查看文档的时候发现了
最后在请求参数带入output,callback解决
$.ajax({
url:"https://apis.map.qq.com/ws/district/v1/list", //请求的url地址
dataType:'jsonp',
jsonp:'callback',
data:{key: '<?php echo $apicfg['tx_mapkey']; ?>',output:'jsonp',callback:'callback'}, //参数值
type:"GET", //请求方式
beforeSend:function(){
//请求前的处理
},
success:function(a){
console.log(a)
},
complete:function(){
//请求完成的处理
},
error: function (xhr, textStatus, errorThrown) {
}
});
相关文章