zoukankan      html  css  js  c++  java
  • 跨域原理

    1.跨域原理

    1. 首先浏览器安全策略限制js ajax跨域访问服务器

    2. 如果服务器返回的头部信息中有当前域:

      // 允许 http://localhost:8080 这个网站打开的页面中的js访问我

      Access-Control-Allow-Origin: http://localhost:8080

      // 允许携带cookie访问我

      Access-Control-Allow-Credentials: true

    2.django cors设置:

    1. 安装包

    pip install django-cors-headers
    2. 注册应用

    INSTALLED_APPS = [  

    ...    

    # 添加 django-cors-headers 使其可以进行 cors 跨域    

    'corsheaders'

    ]

    3. 添加中间件

    MIDDLEWARE = [    

    # 放在中间件第一个    

    'corsheaders.middleware.CorsMiddleware',  

    ... ]

    4. 设置

    # CORS跨域请求白名单设置

    CORS_ORIGIN_WHITELIST = (

        'http://127.0.0.1:8080',  

        'http://localhost:8080',

    )

    CORS_ALLOW_CREDENTIALS = True  # 允许携带cookie

    允许所有源访问
    
    
    CORS_ORIGIN_ALLOW_ALL = True

    3.登录接口测试

    3.1 user/usrs.py中配置路由

    urlpatterns = [  

       path('login/', views.login),

    ]

    3.2 user/views.py中写一个login视图函数 

    from django.http import JsonResponse

    import json

    def login(request):    

      body_dict = json.loads( request.body )    

      print(body_dict,8888888)    

      name = body_dict.get('name')    

      pwd = body_dict.get('pwd')    

      if not all([name, pwd]):        

        resp = {            

          "code": 1001,            

          "msg": '信息不全'      

        }        

        return JsonResponse(resp)
        if name == 'zhangsan' and pwd == '123456':        

        resp = {            

          "code": 0,            

          "msg": '登录成功',            

          "data": {              

             "id": 1,                

            "name": '张三',                

            "age": 18          

          }      

        }      

         return JsonResponse(resp)  

       return JsonResponse({                      

                 "code": 1002,                      

                 "msg": '验证失败'                  

              })

  • 相关阅读:
    【作业】第二周作业, 适合14级1/2班
    【作业】第二周作业,适合13级1/2/3班
    【组织】请13级1/2/3班,14级1/2班 将同学们的博客地址列个清单回复(按班级来)
    【组织】13级1、2、3班和14级1、2班 结对、分组情况请回帖
    【转】没什么能够阻挡,你对自由的向往
    【转】小屁孩, 懂个啥
    【转】远程结对编程实战:看看别人是怎么做的
    【转】看见成长的自己:斯坦福大学心理学教授徳韦克访谈
    【作业】第一周作业
    从std::thread::id取得int值id
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/13751543.html
Copyright © 2011-2022 走看看