zoukankan      html  css  js  c++  java
  • day59:前后台交互的一些方法、及注意事项:

    ## 前后台交互的一些方法:
    
    ```py
    1. 前后台交互的时候, 必须使用json格式数据
    后台返回的格式:res["code"] = 10000
                  res['data'] = "success"
    第一种: return HttpResponse(json.dumps(res))
            前台js反序列化:res = JSON.parse(data);
            前台js的序列化:JSON.stringify(res)
    第二种方式:
            return JsonResponse((res)) 
             相当于使用了json.dumps()
            前台:console.log(data) ## data 已经反序列化好的字典
    跳转两种方式:
                widnow.location.href = '/classes/';
                window.location.reload();  # 刷新当前页面
                
    注意!!!!:
    1. css 如果想要绑定多个相同的标签的时候, 不要用id选择器, 要用class类别选择器
    2. DOM  ===》 Document Object Modal
        <a href="/del_class/?id={{ item.id }}"  onclick="return func()">删除</a>
        onclick="return func()",这是DOM0的方式!可以将双引号内的内容理解为一个函数,只有函数的return,没有函数名、函数体、参数的一个函数。
        优点:方便快捷。
        缺点:移植性差,可读性差,逻辑内容有限。
        
    ```
    
    ## 表单的一些使用方法:
    
    ```python
    对于下拉框:select的例:
     <select name="classid" id="">
      {% for item in classes %}
         {% if item.id == student.cid %}
       <option value="{{ item.id }}" selected>{{item.name }}</option>
         {%else%}
         <option value="{{ item.id }}" >{{ item.name }}</option>
          {% endif %}
       {% endfor %}
      </select>
    说明:可以通过加判断,来确定下拉框的默认值,对于客户不同的选择,提取标签的一个“唯一特征值”,判断这个值,然后给出默认值。
    注意!!!:select的name值,是后台获取数据的依据,它的value值是option标签对应的value值!!!,select没有value属性值。
    
    遇到的问题:
    form标签向后台提交数据和ajax同时提交,ajax将失效。
    另外form标签提交数据后,后台返回数据,过程是:form提交的页面,将根据后台url接口指向的页面跳转,如果是本页面将刷新。(因为它没有接受的地方)
    ajax提交数据:不会主动跳转页面,因为,ajax有个success方法来接受后台url接口函数的返回值,然后可以通过添加逻辑,指定跳转页面!(即可以只接受不跳转!)

    ```
  • 相关阅读:
    [FJWC2018]全排列
    CYJian的新春虐题赛
    C. 新年的繁荣
    CF809E Surprise me!
    codeforces 1110F
    C. mathematican 的二进制
    [SPOJ] DIVCNT2
    CF1065F Up and Down the Tree
    Snakes 的 Naïve Graph
    「LibreOJ Round #9」CommonAnts 的调和数
  • 原文地址:https://www.cnblogs.com/huhongpeng/p/11172902.html
Copyright © 2011-2022 走看看