# django序列化自定製
class jsoncustomencoder(json.jsonencoder):
def default(self, filed):
if isinstance(filed, validationerror): # data也可以處理
return
else:
json.jsonencoder.default(self, filed)
class loginform(forms.form):
# 模板,使用者提交的name和這裡的變數名一定要是一致的.否則不能獲取資料
user = forms.charfield(min_length=6, error_messages=)
email = forms.emailfield(error_messages=)
pass
"""1.建立模板
2.將請求交給模板,建立乙個物件
3.進行驗證
4.保留上一次的資料
"""def ajax_login(request):
if request.method == "get":
return render(request, "ajax_login.html")
elif request.method == "post":
ret =
obj = loginform(request.post)
if obj.is_valid():
print(obj.clean())
else:
res_str = obj.errors.as_json() # res_str是乙個字串
print(obj.errors.as_data())
# # json.dumps(ret) 只是處理的是python的資料型別,不能處理django的資料型別
# 注意一點:django中的values返回的是字典,values_list返回的是元組,all()返回的是所有的物件
from django.core.exceptions import validationerror
ret['status'] = false
ret['error'] = obj.errors.as_data()
return httpresponse(json.dumps(ret, cls=jsoncustomencoder)) # 前端parse就可以
模板三要素:
Ajax 提交資料
1.建立xmlhttprequest 物件。這部分建立物件的 由於需要針對不同的瀏覽器,需要做出判斷,並且還沒有什麼提示,所以大家可以不用自己寫。往後直接拷貝即可。2.傳送請求 function doget post請求和get請求基本相似,區別就在於資料傳輸方式不同。get方式是直接在位址的後面拼...
Ajax提交表單
class form group type text class form control placeholder 使用者名稱 required id username div class form group type password class form control placeholder...
ajax資料提交
前台提交的資料為json字串格式,像下面這樣 data 提交資料提交的時候應寫成這樣,注意要加大括號 data 後台像下面這樣接收 注意 如果要求後台必須要傳遞該資料,可以將 requestparam中的屬性required的值設為true responsebody addcommentforcom...