废话就不多说了,开始。。。
这两天想研讨下ajax,看到《head first ajax》这本书,惜可面里用的是php,服务器有关的技巧我只懂django,所以就用他了。
用户注册种这货色很见常,当入输用户名的时候该应可以当即查检这个用户名否是被注册了,这就是hf这本书第二章讲的货色。由于不想用数据库(没必要啊,主要是训练前端),所以数据存储部份择选xml或者json,xml还是很费事的,json看起来清新多了,就用json了。
自定义的数据式格,比对xml于json:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <usres> 3 <user> 4 <name>duoduo</name> 5 </user> 6 </usres>
1 { 2 "users": [ 3 { 4 "name": "duoduo" 5 }, 6 { 7 "name": "lili" 8 } 9 ] 10 }
json的式格说明可见:http://json.org/json-zh.html
完全的验实代码
![](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
1 import json 2 import os 3 path = os.path.join('.','user.json') 4 5 def get_json_from_file(path): 6 f = file(path) 7 try: 8 j = json.load(f) 9 finally: 10 f.close() 11 return j 12 13 def write_to_file(s,path): 14 f = file(path,'w') 15 try: 16 f.write(s) 17 finally: 18 f.close() 19 20 def is_register(user_name,uers_json): 21 users = uers_json['users'] 22 for user in users: 23 if user['name'] == user_name: 24 return True 25 return False 26 27 def add_user(user_name,user_json,path): 28 users = user_json['users'] 29 users.append(dict(name=user_name)) 30 write_to_file(json.dumps(user_json),path) 31 32 def register(user_name): 33 path = os.path.join('.','user.json') 34 users_info = get_json_from_file(path) 35 if not is_register(user_name,users_info): 36 add_user(user_name,users_info,path) 37 return True 38 return False
get_json_from_file是从一个json式格的文件中得获对应的python对象,json的{}对应python的字典,[]对应list。
is_register判断用户否是注册。
add_user将未注册的用户行进注册,并通过write_to_file将新的数据写回到文件夹。
python的json库中有load,dump于loads,dumps,带s的操纵的对象都是与字符串类似的对象,不带s的一组则操纵与文件类似的对象。
最后是操纵的演示:
文章结束给大家分享下程序员的一些笑话语录: 小沈阳版程序员~~~ \n程序员其实可痛苦的了......需求一做一改,一个月就过去了;嚎~ \n需求再一改一调,一季度就过去了;嚎~ \n程序员最痛苦的事儿是啥,知道不?就是,程序没做完,需求又改了; \n程序员最最痛苦的事儿是啥,知道不? 就是,系统好不容易做完了,方案全改了; \n程序员最最最痛苦的事儿是啥,知道不? 就是,系统做完了,狗日的客户跑了; \n程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户又回来了,程序给删没了!