views
def test_user(request):
print('start')
if request.method=='POST':
print('goon_test_user')
user = request.POST.get('user')
passwd = request.POST.get('passwd')
print(user,passwd)
print('#####')
if models.UserToPasswd.objects.filter(user=user,passwd=passwd).first():
print('')
dic = {'user':user,'status': '', 'msg': '用户名或密码错误'}
dic_dump=json.dumps(dic)
###
obj = HttpResponse(dic_dump)
obj.set_cookie('is_login',True,max_age=100)
obj.set_cookie('user',user)
###
return obj else:
print('')
dic = {'user':user,'status':'','msg':'用户名或密码错误'}
dic_dump = json.dumps(dic)
return HttpResponse(dic_dump) else:
return render(request,'test_user.html') def test2_user(request):
if request.method=='POST':
user = request.POST.get('user')
passwd = request.POST.get('passwd')
models.UserToPasswd.objects.create(user=user,passwd=passwd)
# token =request.POST
return render(request,'time_go.html',locals())
# return render(request,'time_go.html',locals())
return render(request,'sign_in.html') def success(request,user):
print('xxxxxxxx')
print(request.COOKIES)
if not request.COOKIES.get('is_login'):
return redirect("/test_user/")
user= request.COOKIES.get('user')
# return HttpResponse('Hello sir %s'%user)
return render(request,'index.html',locals())

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>auth</title>
<script src="/static/jquery-3.3.1.js"></script>
{# <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js "></script>#}
{# <link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css">#}
</head>
<style>
.hide{
display: none;
}
</style>
<body> {#test#}
{#<input type="text" id="in1"> + <input type="text" id="in2"> = <input type="text" id="in3"> <button class="sub">submit</button>#}
{#<hr>#} <form action="" method="">
{% csrf_token %}
<h2>请输入登陆信息</h2>
<p>用户名:<input type="text" class="u_p" id="user"></p>
<p>密码: <input type="password" class="u_p" id="passwd"></p>
{# <button class="auth">登陆</button> <span class="err hide"></span>#}
<input class="auth" type="button" value="登陆"> <span class="err hide"></span>
</form> <script>
$(".auth").click(function () { $.ajax({
url:"/test_user/",
type:'post',
data:{'user':$('#user').val(), {#发送数据到上方的url中,type可以选择,在视图的request中可以将数值取出来,用get字典中的name即‘in1’#}
'passwd':$('#passwd').val(),
'csrfmiddlewaretoken':$('[name=csrfmiddlewaretoken]').val(), {#这个是post请求时候用的验证,相当于表单的验证.#}
}, success:function (data) { {#这里的data是服务器返回来的数据,即return HttpResponse(str(in3))中HttpResponse中的值#}
var data =JSON.parse(data)
console.log(data)
console.log("---------") var user = data['user']
console.log(user)
var status = data['status']
var msg= data['msg']
if (status=='1'){
temp="/success/ppp";
temp = temp.replace('ppp',user)
location.href=temp
$('.err').addClass('hide')
} else {
$('.err').text(msg)
$('.err').removeClass('hide') } {##}
},
{# error:function (data) {#}
{# var data#}
{# #}
{# #}
{# } #} }) }) {# $("#auth").onclick(function () {#}
{# $.ajax(#}
{# {url:'/ajax_auth/',#}
{# type:'post',#}
{# data:{ 'user':$('#user').val(),#}
{# 'passwd':$("#passwd").val(),#}
{# 'csrfmiddlewaretoken':$("[name=csrfmiddlewaretoken]").val()#}
{# },#}
{# success:function () {#}
{##}
{##}
{##}
{# }#}
{##}
{# }#}
{# )#}
{##}
{# })#}
{# 绑定焦点事件 #}
{# $(".u_p").onfocus(function () {#}
{# $.ajax(#}
{# {url:"/test_user/",#}
{# type:'post',#}
{# data:{ 'user':$('.u_p').val(),#}
{# 'csrfmiddlewaretoken':$('[name=csrfmiddlewaretoken]').val(),#}
{# },#}
{# success:function (data) {#}
{# if (data.get('user')==0){#}
{##}
{# }#}
{##}
{# }#}
{# }#}
{##}
{# )#}
{##}
{# })#}
{##} </script>
</body>
</html>

xxx

cookies_ajax的更多相关文章

随机推荐

  1. P1601高精度加法

    传送门 虽然本题一本通上有,但是一本通不是万能的,这道题就漏掉了进位(所以这告诉我们加法进位很重要) 直接上修改后的题解 #include<iostream> #include<cs ...

  2. git知识讲解

    git初始化 1.设置名字和邮箱 git config --global user.name "zhangsan" git config --global user.email & ...

  3. orcale 函数wm_concat不存咋lob值使用zh_concat 替换

    create or replace TYPE zh_concat_im AUTHID CURRENT_USER AS OBJECT ( CURR_STR VARCHAR2(32767), STATIC ...

  4. 使用.mongorc.js移除哪些比较“危险”的shell辅助函数

    切换到用户目录下 vi .mongorc.js var no = function(){ print("Not on my watch."); }; //禁止删除数据库 db.dr ...

  5. 第11课 std::bind和std::function(2)_std::bind绑定器

    1. 温故知新:std::bind1st和std::bind2nd (1)bind1st.bind2nd首先它们都是函数模板,用于将参数绑定到可调用对象(如函数.仿函数等)的第1个或第2个参数上. ( ...

  6. boost json序列化

    json序列化 #ifndef FND_JSON_OBJECT_H #define FND_JSON_OBJECT_H #include <sstream> #include <bo ...

  7. solr学习(六):使用自定义int/long类型主键

    需求分析: 我不想使用solr默认的主键id,我想换成其他的,比如我的文章id为article_id,我想让article_id作为主键. 而且,我的主键是int类型,而solr的主键默认是strin ...

  8. mysql-5.7.16-winx64解压版安装超详细图文教程

    1.安装: 将下载的mysql-5.7.16-winx64压缩包解压后的整个目录放在自己喜欢的位置,我的放在D盘根目录下 2.配置: 进入mysql-5.7.16-winx64目录,将里面的my-de ...

  9. day24类的继承

    类的继承1 什么是继承    继承一种新建类的方式,新建的类称之为子类/派生类,被继承的类称之为父类\基类\超类    python中继承的特点:        1. 子类可以遗传/重用父类的属性   ...

  10. mock生成随机数的各种情况

    [发现一篇好的文章,用来自己作参考] 接口测试时需要生成各种正则表达式的随机数进行边界值测试,字符串测试等: 比如生成数字,字母,邮箱,一段中文,一段英文 推荐1:生成随机数的多种情况 http:// ...