django学习之ajax post传参的2种格式实例


Posted in Python onMay 14, 2021

一.ajax介绍

1、ajax的含义

Ajax全称“Async Javascript And XML”即:异步的javascript和XML。它是一种称谓,并不指代某项具体的技术,准确来说是一系列技术的集合.现在,所有的无刷新操作都被称为“Ajax”.

2、使用ajax的好处:

使用ajax避免了整页数据的刷新,也减少了请求等待的时间,提高了用户体验.

二.ajax传参的两种格式

假设有如下表单,需要将这些表单用ajax传参的方式传给后台,该怎么做呢…

django学习之ajax post传参的2种格式实例

我们知道ajax传参的格式为$.post(“地址”,参数,function(返回值){}),套用这个格式进行传参,有以下两种方法:

方法一:提交表单中的部分字段

我们可以获取用户名,密码等内容,将其拼接成一个字典(想传什么就将其拼接成字典格式,没有特殊限制,你甚至可以单独的只传一个用户名),将其作为参数传给后台

例:

{‘username':username,‘password':password,‘csrfmiddlewaretoken':csrf}

{‘username':username‘}

{‘password':password}

关于csrf是预防跨站攻击的内容,你可以移步djanjo之csrf防跨站攻击作下了解

接下来看看代码中是如何实现的,重点关注带有下方标记的代码

{# ?ajax #}

{# ?post提交 #}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册</title>
    {# 引用jquery #}
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<form ation="" method="post">
    {# 防止跨站攻击 #}
    {% csrf_token %}
    用户名:<input type="text" name="username"><br>
    密码:<input type="text" name="password"><br>
<!--    {# 表单提交 #}-->
<!--    <input type="submit">-->

<!--    {# ajax提交 #}-->
    <input type="button" value="注册" id="button">
</form>
</body>
</html>
<script>
	{# ?ajax #}
    $("#button").click(function(){
        username = $("[name='username']").val();
        password = $("[name='password']").val();
        csrf = $("[type='hidden']").val();
        console.log(username,password,csrf);

        {# ?post提交 #}
        {# $.post("地址",{参数},function(返回值){}) #}
        $.post("/user/register/",{'username':username,'password':password,'csrfmiddlewaretoken':csrf},function(data){
            console.log(data)
        })

    });

</script>

方法二:提交表单中的所有字段

console.log($(“form”).serialize()

serialize是把表单中的字段序列化,弄成get的请求的字符串格式,将其作为参数传给后台

值得注意的是这里就不能像方法一里那样想传什么参数就传什么参数了,而是表单中所有的字段都会被纳为请求的字符串格式

接下来看看代码中是如何实现的,重点关注带有下方标记的代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册</title>
    {# 引用jquery #}
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<form ation="" method="post">
    {# 防止跨站攻击 #}
    {% csrf_token %}
    用户名:<input type="text" name="username"><br>
    密码:<input type="text" name="password"><br>
<!--    {# 表单提交 #}-->
<!--    <input type="submit">-->

<!--    {# ajax提交 #}-->
    <input type="button" value="注册" id="button">
</form>
</body>
</html>
<script>
	{# ?ajax #}
    $("#button").click(function(){
        console.log($("form").serialize());

        {# ?post提交 #}
        {# $.post("地址",{参数},function(返回值){}) #}
         $.post("/user/register/",console.log($("form").serialize()),function(data){
            console.log(data)
        })

    });

</script>

总结

到此这篇关于django学习之ajax post传参的文章就介绍到这了,更多相关django之ajax post传参内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python使用在线API查询IP对应的地理位置信息实例
Jun 01 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
解决phantomjs截图失败,phantom.exit位置的问题
May 17 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
May 21 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
在服务器上安装python3.8.2环境的教程详解
Apr 26 Python
Python格式化输出--%s,%d,%f的代码解析
Apr 29 Python
利用python进行数据加载
Jun 20 Python
Python djanjo之csrf防跨站攻击实验过程
python控制台打印log输出重复的解决方法
聊一聊python常用的编程模块
May 14 #Python
如何获取numpy array前N个最大值
May 14 #Python
使用pandas模块实现数据的标准化操作
pandas 实现将NaN转换为None
May 14 #Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
You might like
PHP常用的排序和查找算法
2015/08/06 PHP
PHP实现linux命令tail -f
2016/02/22 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
利用javascript查看html源文件
2006/11/08 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
vue生命周期实例小结
2018/08/15 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
[03:08]Ti4观战指南上
2014/07/07 DOTA
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
Python3模拟登录操作实例分析
2019/03/12 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
完美解决pycharm 不显示代码提示问题
2020/06/02 Python
Python return语句如何实现结果返回调用
2020/10/15 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
挪威手表购物网站:Klokker
2016/09/19 全球购物
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
经济学博士求职自荐信范文
2013/11/23 职场文书
民族学专业求职信
2014/07/28 职场文书
高中运动会广播稿
2014/09/16 职场文书
心理健康教育主题班会
2015/08/13 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL
如何Python使用re模块实现okenizer
2022/04/30 Python