发表于: 2017-04-13 23:46:24

2 1186


今天完成的事:

a学习Nginx跨域配置

目标:通过在浏览器输入域名,访问本地文件,向测试(或线上)环境的服务器发送请求
     举例:通过在浏览器输入localhost,访问本地D:\demo\index.html文件,向纸上人生(我们的一个项目的名称)测试服务器(IP地址为115.29.203.53,端口号为8023)提供的获取用户总数的接口(/user/all)发送请求,得到总人数。
     步骤:在原来的基础上配置location /ajax/。加上如下location /ajax/{}部分代码。参数其实就一个,proxy_pass配置为要访问的服务器的IP和端口号(一定要找到端口号,没写的话是默认的8080)。其余的几行是固定的设置。
 server {
        listen       80;
        server_name  test;
        location / {
            root   D:\demo;
            index  index.html index.htm;
        }
        location /ajax/{
             proxy_pass http://115.29.203.53:8023/;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For  
             $proxy_add_x_forwarded_for;
        }
     }
     这段代码的作用可以认为是,调用接口时,用到/ajax/的部分将被替换为http://115.29.203.53:8023/。 

我个人配置的跨域

 #登录

    server {

        listen      1003;

        server_name  localhost;

        location / {

            root   E:/js5/;

            index  index.html index.htm;

        }

        location /a/{

            proxy_pass  http://dev.admin.carrots.ptteng.com/;

            proxy_set_header        Host                $host;

            proxy_set_header        X-Real-IP           $remote_addr;

            proxy_set_header        X-Forwarded-For     $proxy_add_x_forwarded_for;

        }

    }

JQ部分 调用端口

 <script>
          $(document).ready(function(){
               var url="/ajax/user/all"
               $.getJSON(url, function(respond){
                    alert(respond.data.total);
                    console.log(data);
               });
          });
     </script>

明天计划的事:

完善任务5;

遇到的问题:

.跨域成功后,不知道返回的参数在哪里?

收获:

了解了跨域的原因: 因为出于安全的考虑,浏览器不允许跨域调用其他页面的对象,想解决这个问题,就需要跨域;


返回列表 返回列表
评论

    分享到