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. jquery插件:textarea的字数提示、textBox的文字提示

    引用文件:    <script src=”/TextTip/TextTip.js” type=”text/javascript”></script> 一.textarea的字 ...

  2. 1126 Eulerian Path (25 分)

    1126 Eulerian Path (25 分) In graph theory, an Eulerian path is a path in a graph which visits every ...

  3. 凭什么说AMQP比JMS优秀啊?JMS才是真正实现了一个客户端调用多种产品的消息中间件啊

    一.AMQP 历史​ 消息队列(Message Queue)起源于一位来自 MIT 的硬件设计教育工作者 Vivek Ranadivé 设想了一种通用软件总线,就像主板上的总线那样,供其他应用程序接入 ...

  4. Android 获取手机内部信息,内核版本、基带版本、内部版本等

    TextView text = (TextView) findViewById(R.id.textView1); String phoneInfo = "Product: " + ...

  5. keras的LSTM函数详解

    keras.layers.recurrent.LSTM(units, activation='tanh', recurrent_activation='hard_sigmoid', use_bias= ...

  6. webSocket+HeadBeat

    最近需要用到webSocket,来实时接收长链接发送过来的信息,同时又要发送心跳给服务端.直接贴代码吧. var ws;//websocket实例 var heartCheck; var lockRe ...

  7. 让WordPress支持google AMP

    1.关于AMP 在移动互联网的时代,尽管网站响应式设计可以满足多屏(pc.手机.ipad等)浏览,但google在2015年10月推出了更快移动页面访问速度的技术-Accelerated Mobile ...

  8. KafkaAPI实战

    新旧API使用 Flume和Kafka集成: Kafka有两套API: 过时的API 和新API 准备工作 <dependencies> <dependency> <gr ...

  9. tkinter简单使用

    第一个运行程序 # -*- coding: utf-8 -*- import tkinter as tk //引入 root = tk.Tk() // 实例化root T大写k小写 root.titl ...

  10. asp.net网站中增删文件夹会导致Session或cache等等丢失

    因为这会导致网站资源本身重新加载. 如果要改变文件和文件夹,一般应该是对 app_data 下进行操作.