• cors 跨域问题


    什么是跨域

      比如:

        我们当前域名是baidu.com ,想去请求taobao.com的资源。就是跨域请求资源了

          注意:同个域名端口不同,也会存在跨域问题。

        如果当前域名是百度,访问百度就不存在跨域

    解决方案

      1、后端修改响应头

    vat app = express();
    app2.get('/',function(req,res){
        //  设置 任意的域都可以访问
        res.header('Access-Control-Allow-Origin','*')
        res.sed('你好~')                
    
    })
    app.listen(91)  //91端口

        2、 jsonp

      前端通过引入,比如href src引入的文件、图片、js等都不会存在跨域问题,只有ajax请求会有跨域问题。

      jsonp就是基于这个原理来用的。

      

      服务端

    vat app = express();
    app2.get('/',function(req,res){
        //  获取前端传过来的回调函数
       var funcname = req.query.callbak
        // 返回前端的是funcname('你好~')
        res.sed(funcname +"('你好~')")                
    
    })
    app.listen(91)  //91端口

    前端jsonp方式

     声明

    <script>
      function f(data){
        alert(data)
      }
    </script>

      引用调用

    <script src="http://localhost:91?callback=f"></script>

     这个script 标签相当于后端传过来函数名并传入参数调用--f('你好') ,然后上面发现函数已经声明注册了,就会运行!

    3、反向代理

      各种框架写配置文件就行了。。比如nginx反向代理,vue反向代理。。。

     
  • 相关阅读:
    一段简单的js让png24兼容ie6,单张图片有效
    “按需加载”的应用
    前端....
    项目小结
    Ember初始化实例
    Emberjs 分页
    Emberjs搜索
    promise链式
    Emberjs路由
    Emberjs笔记
  • 原文地址:https://www.cnblogs.com/zhuangdd/p/14699437.html
Copyright © 2020-2023  润新知