今天要开始开发移动端APP,移动APP需要跨域来获取接口数据,所以需要我们在nginx下做下配置,相对于apache来说nginx配置更加简单,只需要在网站目录下添加一个文件crossdomain.xml,这个文件名是固定的,内容如下:
<?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="*" /> </cross-domain-policy>
然后我们的ajax也需要改造下,主要是吧json改成jsonp来获取json数据,具体实例如下:
$.ajax({
url: 'http://www.admin.com/api/index.html?callback=?',
type: 'GET',
dataType: 'jsonp',
jsonp: 'callback',
success: function(json){
var str;
for(var p in json){
//console.log(json[p].title);
str = '<li><a href="detail.html?id='+json[p].id+'">'+json[p].title+'<\/a><\/li>'
$('#list').append(str);
}
}
});服务端控制器主要是改成返回一个callback回调来返回数据,ajax实例:
<?php
namespace app\index\controller;
class Api extends Base{
public function index(){
$data = db('picture')->where('status=99')->order('id desc')->limit(10)->select();
echo $_GET['callback'].'('.json_encode($data).')';
}
public function detail(){
$id = input('param.id');
$r = db('picture')->where('id='.$id)->find();
$r1 = db('picture_data')->where('id='.$id)->find();
$data = array_merge($r, $r1);
echo $_GET['callback'].'('.json_encode($data).')';
}
}内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/479
相关阅读
- linux使用pdsh/pdcp批量操作服务器和批量编译nginx实际操作
- ubuntu22.04编译安装nginx
- flask使用nginx代理以后图片上传和加载问题解决方法
- nginx反向代理http/https、rpc/grpc、ws/wss
- nginx四层负载均衡配置解析以及卡顿问题的处理
- centos7部署k8s多master高可用集群(k8s/containerd/nginx/keepalived)
- k8s部署ingress-nginx
- docker部署keepalived非抢占单播模式
- docker-compose部署nginx反向代理tomcat
- docker-compose编排lnmp(nginx+php+mysql)环境
评论列表