利用nginx解决本地项目AJAX跨域请求

     今天用sanic写前后端分离的项目时,用pycharm本地调试遇到ajax跨域问题。从网上搜索解决方案,用getJSON,jsonp,设置请求头等均达不到理想效果。最后,想到可以利用nginx反向代理来解决这个问题。

两个url只要协议、域名、端口有任何一个不同,都被当作是不同
的域,相互访问就会有跨域问题。

1.在pycharm中编写项目时,前端的url为

http://localhost:63342/Library/template/index.html

2.而我的后端请求地址为

http://localhost:8000/api/

3.解决这个问题,只要使页面的前缀和接口的前缀一致就可以了,因此可以使用nginx进行反向代理。打开nginx目录下的conf文件夹,在nginx.conf文件的配置如下

server {
        listen       80;
        server_name  localhost;

        location ^~ /library {
            alias E:/Document/python/sanicProject/Library/template;
            autoindex on;
            #add_header Access-Control-Allow-Origin "*";  
            #add_header Access-Control-Allow-Methods "POST, GET, PUT, OPTIONS, DELETE";  
            
        }
        location / {
    
            proxy_pass http://localhost:8000;
            #add_header Access-Control-Allow-Origin "*";
            add_header Access-Control-Allow-Methods "POST, GET, PUT, OPTIONS, DELETE";
        }
        
    }

4.重启nginx

nginx -s reload

5.现在应该访问正常了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 目前在开发中前后端分离的模式比较普遍,那么跨域问题也就时常会遇到。网上资料都很片面,不全面,以及都没有说为什...
    江江的大猪阅读 5,224评论 0 11
  • 快速开始 在安装Sanic之前,让我们一起来看看Python在支持异步的过程中,都经历了哪些比较重大的更新。 首先...
    hugoren阅读 19,848评论 0 23
  • 一. 产生跨域的原因 1.浏览器限制 2.跨域 3.XHR(XMLHttpRequest)请求 二. 解决思路 解...
    java高并发阅读 27,304评论 2 33
  • 1、代理和跨域 1.1 正向代理 1)用户希望代理服务器帮助其和要访问服务器之间实现通信,需要:a.用户IP报文的...
    Hughman阅读 13,012评论 0 14
  • 坐在班车上,闭上眼,侧耳倾听身旁的声音。 听老式班车发动机的轰鸣声,听各种零件每经不平路面的嘎吱嘎吱响,听汽车尖锐...
    十月有鹿阅读 3,480评论 5 14

友情链接更多精彩内容