django学习第85天Django的Ajax

一.什么是Ajax:

通过js语言跟后台进行交互的一个东西
        -特点:异步,局部刷新        -之前学了form表单提交,地址栏中输入地址        -js的语法:jquery的$.ajax()
       

二.怎么用

  ajax往后台提交数据
        $.ajax({
            url:‘请求的地址‘,
            type:‘get/post‘,       contentType:application/json 指定前端传到后端的编码格式是json,数据在body里         datetype:‘json‘  指定后端传到前端的数据格式是json,然后ajax转成object字典
            data:{key:value,key2:value2},
            success:function(data){
                alert(data)
            }
        })
json格式传送数据前端$(‘#btn2‘).click(function () {
       var user={name:$(‘#msg1‘).val(),pwd:$(‘#msg2‘).val()}
       console.log(user)
        $.ajax({
            url:‘/01test/‘,
            type:‘post‘,
            contentType:‘application/json‘,
            data:JSON.stringify(user),
            success:function (data) {
                if (data.status==100) {
                    location.href = data.url
                    console.log(data.status)
                }else{
                    console.log(data)
                    alert(‘账号或密码错误‘)
                }

            }
        })
    })后端
import jsondef test01(request):    dic = {‘status‘: 100}    user=json.loads(request.body.decode(‘utf-8‘))    print(user)    name=user.get(‘name‘)    pwd=user.get(‘pwd‘)    if name == ‘hui‘ and pwd == ‘123‘:        dic[‘status‘] = 100        dic[‘url‘] = ‘/book/‘    else:        dic[‘status‘] = 101    print(dic)    return JsonResponse(dic)
 
不带json格式传送数据

前端 $(‘#btn1‘).click(function () {
        var usr=$(‘#msg1‘).val();
        var pwd1=$(‘#msg2‘).val();
        $.ajax({
            url:‘/test/‘,
            type:‘post‘,
            data:{name:$(‘#msg1‘).val(),pwd:$(‘#msg2‘).val()},
            success:function (data) {
                if (data.status==100) {
                    location.href=data.url
                    console.log(data.status)
                }else{
                    console.log(data)
                    alert(‘账号或密码错误‘)
                }
            }
        })
    })后端
def test(request): if request.method==‘GET‘:     return render(request,‘test.html‘) else:    print(request)    dic={‘status‘:100}    name=request.POST.get(‘name‘)    pwd=request.POST.get(‘pwd‘)    print(name,pwd)    if name==‘hui‘ and pwd==‘123‘:        dic[‘status‘]=100        dic[‘url‘]=‘/book/‘    else:        dic[‘status‘]=101    print(dic)    return JsonResponse(dic)
 

原文地址:https://www.cnblogs.com/ye-hui/p/10285916.html

时间: 2024-10-02 23:43:14

django学习第85天Django的Ajax的相关文章

Django学习《玩转Django 2.0》PDF+代码分析

Python是当前热门的开发语言之一,它有着广泛的应用领域,在网络爬虫.Web开发.数据分析和人工智能等领域都受到开 发者的热爱和追捧.现在很多企业开始使用Python作为网站服务器的开发语言,因此掌握Web开发是Python开发者必不可少 的技能之一. Django是Python开发网站的首选Web框架,这归功于Django较强的规范性,规范了开发人员的编码要求,以符合企业的规范化 管理.正因如此,Django成为开发人员必学的Web框架之一. 学习Python Web技术,以Python 3

django学习第81天Django模板层2

补充:http请求的本质是socket web应用: -S包括两部分:web服务器+application -目前阶段django项目用的web服务器是:wsgiref+application -上线会用uwsgi+application -web服务器(本质是socket)都实现了wsgi协议 -wsgi:web服务网关接口,是一个协议 a:socketb:路由映射关系c:模板语言的渲染django: a:用别人的 b:自己写的 c:自己写的flask: a:用别人的 b:自己写的 c:用别人

Django 学习第四天——Django 模板标签

一.模板标签: 作用:标签在渲染的过程中提供任意的逻辑:例如 if for...in... 等 标签语法:由 {% %} 来定义的:例如:{% tag %}xxx{% endtag %} 常用标签: if 标签: 可以使用 and or in not == != <= >= 来进行判断 {% if a == "xx" %} # == 号两边必须要有空格 判断成立执行的语句 {% elif a == "zz" %} 判断成立执行的语句 {% else %}

Django学习系列之Form表单和ajax

ajax 通过ajax发送一条数据 定义urls.py from django.conf.urls import url from django.contrib import admin from cmdb import views urlpatterns = [ url(r'^ajax_demo/', views.ajax_demo), ] 定义views.py from django.shortcuts import render from django.shortcuts import H

AJAX入门学习-2:基于JS的AJAX实现(以Django为例)

小生博客:http://xsboke.blog.51cto.com 如果有疑问,请点击此处,然后发表评论交流,作者会及时回复. -------谢谢您的参考,如有疑问,欢迎交流 一. ajax的实现操作流程 实例对象: var xmlhttp = XMLHttprequest() 连接server端: xmlhttp.open("") 发送数据: xmlhttp.send("") # 请求体的内容 ,如果是GET请求就没有内容,内容在URL里面,写为send(null

Django 【第十六篇】Ajax基础

一.Ajax准备知识:json 说起json,我们大家都了解,就是python中的json模块,那么json模块具体是什么呢?那我们现在详细的来说明一下 1.json(Javascript  Obiect  Notation,JS对象标记)是一种轻量级的数据交换格式. 它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据. 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效

[Django学习]Django基础(15)_ajax的评论提交

一 功能介绍 点击"评论"按钮时,不刷新页面,将评论内容直接插入下方的评论列表中. 二 实现方式 1. 为评论框表单设置id属性 // 为评论框表单设置id属性comment_form <form id="comment_form" action="{% url 'update_comment' %}" method="POST" sytle="overflow:hidden"> {% csrf

python学习笔记十六 django深入学习一

django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), #精确匹配 url(r'^articles/([0-9]{4})/$', views.year_archive), #动态路由 url(r'^articles/([0-9]{4})/([0-9]{2

Django 学习笔记(七)数据库基本操作(增查改删)

一.前期准备工作,创建数据库以及数据表,详情点击<Django 学习笔记(六)MySQL配置> 1.创建一个项目 2.创建一个应用 3.更改settings.py 4.更改models.py 5.同步数据 二.安装IPython方便debug sudo apt-get install ipython3 安装成功后用python manage.py shell 会自动进入Ipython交互解释器中,没有安装Ipython只有前两行代码,只进入到Python shell 中. Python 3.5