Python系列之 - 前端总结

1、

  python序列化:

    字符串 = json.dumps(对象)  对象->字符串

    对象 = json.loads(字符串)  字符串->对象

  Javascript:

    字符串 = JSON.stringify(对象)  对象->字符串

    对象 = JSON.parse(字符串)  字符串->对象

  应用场景:

    数据传输时:

      发送:字符串

      接收:字符串->对象

 

2、反向生成URL:

    有两种方式:{% url "a1" %}

          reverse("a1")

用reverse需要导入     from django.core.urlresolvers import reverse

3、ajax  

  $().serilizer()获取form表单的所有数据

 

  •  $.ajax({
            url: 'https://www.baidu.com/',
            type: "POST",
            data: {k1: v1},
            success: function (arg) {
            //arg是字符串
             arg = JSON.parse(arg)
            //arg是对象
                console.log(arg)
            }
    error:function(){
    } }) $.ajax({ url:
    'http//www.baidu.com', type: 'GET', data: {'k1': 'v1'},
    dataType:
    'JSON', success: function (arg) { // arg是对象 } }) 当我们声明了datatype:JSON时,解释器会把arg解析完后在传入function()内
         text时,对arg不对任何处理
    html,和text一样,不做任何处理
    xml, 转换为xml对象
  • 发送数据时,data:
  • a. 只是字符串或数字
                $.ajax({
                    url: 'http//www.baidu.com',
                    type: 'GET',
                    data: {'k1':'v1'},
                    dataType: 'JSON',
                    success:function(arg){
                        // arg是对象
                    }
                })
            b. 包含属组
                $.ajax({
                    url: 'http//www.baidu.com',
                    type: 'GET',
                    data: {'k1':[1,2,3,4]},
                    dataType: 'JSON',
                    traditional: true,//v1 可以穿列表
                    success:function(arg){
                        // arg是对象
                    }
                })
                
            c. 传字典        
                b. 包含属组
                $.ajax({
                    url: 'http//www.baidu.com',
                    type: 'GET',
                    data: {'k1': JSON.stringify({}) },
                    dataType: 'JSON',
                    success:function(arg){
                        // arg是对象
                    }
                })

3、事件绑定

  $.(要绑定标签的上级标签).on("click","要绑定的标签",functional(){}  )

ssss

5、json.dumps

  • 在使用json.dumps时要注意一个问题
    
     
    >>> import json
    >>> print(json.dumps('中国'))
    "\u4e2d\u56fd"
     
    输出的会是
    '中国' 中的ascii 字符码,而不是真正的中文。
     
    这是因为json.dumps 序列化时对中文默认使用的ascii编码.
    想输出真正的中文需要指定ensure_ascii
    =False: >>> import json >>> print(json.dumps('中国')) "\u4e2d\u56fd" >>> print(json.dumps('中国',ensure_ascii=False)) "中国"

6、JS中的!=、== 、!==、===的用法和区别。

  • var num = 1;
     
    var str = '1';
     
    var test = 1;
     
    test == num   //true 相同类型 相同值
     
    test === num  //true 相同类型 相同值
     
    test !== num  //false test与num类型相同,其值也相同, 非运算肯定是false
     
     
    num == str   //true  把str转换为数字,检查其是否相等。
     
    num != str   //false  == 的 非运算
     
    num === str  //false  类型不同,直接返回false
     
    num !== str  //true   num 与 str类型不同 意味着其两者不等 非运算自然是true啦
    == 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。
    
    而 
    === 和 !== 只有在相同类型下,才会比较其值。

7、 总结

  • 新URL方式:
                - 独立的页面
                - 数据量大或条目多
                
    对话框方式:
                - 数据量小或条目少
                -增加,编辑
                - Ajax: 考虑,当前页;td中自定义属性
                - 页面(***)
    删除:
                对话框

 

 

posted @ 2018-05-20 20:59  慕沁  阅读(566)  评论(0)    收藏  举报