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中自定义属性 - 页面(***) 删除: 对话框