如何解决跨域问题

跨域是什么

  • 跨域是指在浏览器中运行的前端程序试图通过XMLHttpRequest等方式向不同域的后端服务器发送请求时,会遭遇浏览器同源策略限制的情况
  • 默认情况下,浏览器只允许在同一来源(协议、域名、端口)下进行请求,而跨域请求会被浏览器拦截

解决方法

方法一:Nginx解决

Nginx 轻松搞定跨域问题
在反向代理时通过增加add_header 解决

server {
        listen       22222;
        server_name  localhost;
        location  / {
            #add_header Access-Control-Allow-Origin 'http://localhost:8080' always;
            add_header 'Access-Control-Allow-Origin' '*';		#会显示在响应头里面
        	add_header 'Access-Control-Allow-Headers' '*';
        	add_header 'Access-Control-Allow-Methods' '*';
        	add_header 'Access-Control-Allow-Credentials' 'true';	#解决跨域cookie的问题
            if ($request_method = 'OPTIONS') {
                return 204;
            }
            proxy_pass  http://localhost:59200; 
            proxy_set_header Cookie $http_cookie;	#解决跨域cookie的问题
        }
    }

方法二:Django解决跨域问题的方法

使用django-cors-headers 模块
Django跨域问题解决

你可能感兴趣的:(WEB,问题解决,跨域)