概要:

Ajax异步请求数据之前就听朋友提起过,但是之前一直没有什么机会使用这个技术,就没有去了解,后面在做网站评论这一功能时,为了使用户评论之后不用刷新网页就能够看到刚刚评论的数据,所以决定使用Ajax来异步请求数据,最近正在学习当中。Ajax最大的特点就是在不刷新当前页面的情况下实现数据的请求。

常规使用form表单进行数据的提交:

一般情况下要实现前端向后端发送数据,常用的有两种传输数据的方式:POST和GET,而常用的数据提交形式是使用Form表单,在Form表中指定action来指定提交数据的目标地址,当使用submit提交数据后,随着网页的跳转前端会把数据发送给后端,实现数据的交互。

代码:

{% csrf_token %}

使用Ajax实现数据提交:

前端代码:

{# 通过id找到对应的表单 #}

$('#hwy').submit(function () {

{# 使用ajax进行数据异步提交 #}

$.ajax({

// 提交数据的url

url: '/ajax_form/',

// 提交数据的方式为POST

type: 'POST',

// 指定提交的数据,这里使用的serialize方法,该方法可以将当前的表单转化为可以使用Ajax提交的数据格式

data: $(this).serialize(),

// 不开启数据缓存

cache: false,

// 请求成功则会执行该方法

success: function (data) {

// 显示响应到的数据

console.log(data);

// 插入数据

var comment_html = "

" + data['log_info'] + "

";

$('#hwy_1').remove();

$('#ajax_data').prepend(comment_html);

$('#hwy_input').val('');

},

});

{# 放回一个false,使得点击提交按钮后不会进行数据提交 #}

return false;

});

其中指定了提交数据的目标URL、提交数据的形式、提交的数据,其中提交数据是使用的是data: $(this).serialize(),,其含义是将当前选定的表单值进行序列化,使其能够完成Ajax的数据提交,数据提交到目标URL后,后端就需要对数据进行接收和处理,由于是POST请求,所以接受参数的方法为request.POST['key'],获取到数据并处理后,需要将数据再传递给前段,需要注意的是:返回的数据的格式必须是Json格式,所以就必须使用到Django提供的JsonResponse方法。

views.py

from django.shortcuts import render, HttpResponse

from django.http import JsonResponse

# Create your views here.

def ajax(request):

return render(request, 'Ajax.html')

def ajax_form(request):

data = {}

data['status'] = 'SUCCESS'

data['log_info'] = request.POST['username']

return JsonResponse(data)

返回数据后,前端会接受该数据,我们需要做的就是将该数据显示在前端页面。

python django异步访问_初试Ajax异步请求(基于Django框架)相关推荐

  1. jquery ajax 异步分页,jquery 分页 Ajax异步

    #th> th> nameth> 操作th> tr> thead> tbody> ul> td> tr> tfoot> table&g ...

  2. ajax异步获取右侧html,Ajax异步获取html数据中包含js方法无效的解决方法

    Ajax异步获取html数据中包含js方法无效的解决方法 页面上使用js写了一个获取后台数据的方法 function data() { var tab = $("#dic") $. ...

  3. 异步解耦_如何使用异步生成器解耦业务逻辑

    异步解耦 Async generators are new in JavaScript. They are a remarkable extension. They provide a simple ...

  4. django orm级联_第 03 篇:创建 Django 博客的数据库模型

    HelloGitHub-Team 成员--追梦人物 设计博客的数据库表结构 博客最主要的功能就是展示我们写的文章,它需要从某个地方获取博客文章数据才能把文章展示出来,通常来说这个地方就是数据库.我们把 ...

  5. python语音建模_该系统实现了基于深度框架的语音识别中的声学模型和语言模型建模...

    基于深度学习的中文语音识别系统 如果觉得有用的话,小手给个star吧~ 注意:本人于近期想对该项目进行翻新,tf现在已经将keras作为重要的一部分,因此可能将代码用TensorFlow2来进行修改. ...

  6. django手机访问_在手机上运行Python的神器

    之前安利过一款手机上运行Python的神器Termux,不过Termux的使用比较重,它实际是一款linux系统模拟器,安装好Termux后还要再安装python,并且是全命令行操作,一些读者使用起来 ...

  7. django手机访问_有了这个软件,Python新手可以随时随地用手机练习编程了

    很多小伙伴想利用空闲时间学习Python,但是有时候身边没有电脑,今天就给大家推荐一款手机APP:QPython. Qpython是一个Python引擎,只能运行在安卓系统上,内置了一个Python编 ...

  8. java 同步与异步区别_同步和异步有何异同,在什么情况下分别使用它们?

    2015-05-12 06:30:01 阅读( 4 ) 通俗版:举个例子:普通B/S模式(同步)AJAX技术(异步) 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器 ...

  9. scala 异步调用_非阻塞异步Java 8和Scala的Try / Success / Failure

    scala 异步调用 受Heinz Kabutz最近的时事通讯以及我在最近的书中研究的Scala的期货的启发,我着手使用Java 8编写了一个示例,该示例如何将工作提交给执行服务并异步地响应其结果,并 ...

最新文章

  1. 【数据结构】最小生成树 Prim算法 Kruskal算法
  2. 在应用程序中宿主MEF
  3. Java 反射机制分析指南
  4. C# 索引器使用总结
  5. comparable接口和comparator接口的作用和区别?_接口和抽象类有什么联系和区别?
  6. 再见IE浏览器(IE之死2021 年 8 月 17 日)
  7. 【.Net Micro Framework PortingKit(补) – 1】USB驱动开发 1
  8. 修饰符.lazy .number .trim
  9. (转载)Socket编程基本流程实践
  10. c语言程序设计笔记手写图片,C语言程序设计笔记.pdf
  11. 9.linux ntp服务器搭建
  12. 哪些场景应用了dsrc通信标准_如何提高量子通信系统的实用性,制约了量子通信系统的应用场景...
  13. linux入门目录汇总
  14. default、mms、supl、dun、hipri接入点类型的区别
  15. 人工智能项目案例:AI+企业智能化管理
  16. 红孩儿编辑器的开发规范
  17. SharePoint 2010 电子书下载网站推荐
  18. 联想ThinkBook 14+和 2022宏碁非凡S3 哪个好
  19. 跟谁一起工作,到底有多重要?
  20. 用linux模拟彩票摇号器下载,大乐透模拟摇奖器拟选号器

热门文章

  1. 手写token解析器、语法解析器、LLVM IR生成器(GO语言)
  2. 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'Address'中的标识列指
  3. node-webkit笔记
  4. Filestream 使用简单步骤
  5. memcache和redis本质区别在哪里?
  6. 算法nodehdu 2112 hdu today
  7. 如何计算MySQL数据库占用内存
  8. 华为s5700-SI交换机常用命令
  9. mac更新之后vmware fusion下vmware tools报错
  10. 关于记录每天”要完成的事项“和”未完成事项“,(尤其是周末时,对未完成事项的记录一定要全)-----工作方式