Home  >  Q&A  >  body text

javascript - 前后分离apis设计问题

    const server1 = 'http://wx.lxjjz.cn';
    const server2 = 'http://test.lxjjz.cn';
    var setType = dev ? "jsonp" :"json" 
    console.log(tools.createURL(apis.Message))
    $.ajax({
        url:server2,
        dataType: setType,
        success:(data)=>{
           console.log(data)
       }
   })

后台设计API是这样设计,测试域名的时候就用jsonp,放到线上就回json,把dataType做成变量;有什么办法可以本地测试的时候不用jsonp,直接更换域名就能访问到后台数据,如果不做jsonp后台PHP如何做?

怪我咯怪我咯2771 days ago349

reply all(4)I'll reply

  • PHP中文网

    PHP中文网2017-04-11 11:51:42

    开始时候跨域问题...下面几种都OK把

    1. 后端直接允许跨域 , 生产环境取消

    2. php更方便用nginx , 反向代理

    3. 现在很多的框架都带了serve , 可以直接配置 proxy

    reply
    0
  • 怪我咯

    怪我咯2017-04-11 11:51:42

    Nginx反向代理!

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-11 11:51:42

    如果可以修改后台文件,最简单的方法是使用xhr2,ajax中不需要使用jsonp,只需要在后台php加上两句代码

    header('Access-Control-Allow-Origin:*'); 
    //*代表可访问的地址,可以设置指定域名
    header('Access-Control-Allow-Methods:POST,GET');
    //允许的请求方法

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 11:51:42

    开发环境配置反向代理,比如 nginx,或者通过 node

    reply
    0
  • Cancelreply