带参数的Ajax请求

通过Ajax实现下面的功能:

在实现这个功能之前需要掌握的点:

1.在学习jQuery时,我们知道:

获取input标签中输入的值:$("#num1").val();

给input标签赋值:$("#ret").val("888");

2.在学习django的form表单中的csrf_token时,会遇到forbidden的问题。只要给服务器发送请求的时候将csrf_token中的键值作为请求体传给服务器就好了。

实现如下:

urls.py:

from django.contrib import admin

from django.urls import path

from app01 import views

urlpatterns = [

path('admin/', admin.site.urls),

path('index/', views.index),

path('cal/', views.cal),

]

from django.contrib import admin

from django.urls import path

from app01 import views

urlpatterns = [

path('admin/', admin.site.urls),

path('index/', views.index),

path('cal/', views.cal),

]

views.py:

from django.shortcuts import render, HttpResponse

# Create your views here.

def index(request):

return render(request, "index.html")

def cal(request):

num1=request.POST.get("num1")

num2=request.POST.get("num2")

ret=int(num1)+int(num2)

return HttpResponse(str(ret))

from django.shortcuts import render, HttpResponse

# Create your views here.

def index(request):

return render(request, "index.html")

def cal(request):

num1=request.POST.get("num1")

num2=request.POST.get("num2")

ret=int(num1)+int(num2)

return HttpResponse(str(ret))

index.html:

Title

INDEX页面


{% csrf_token %}

+=计算

// 传参的Ajax请求

$(".cal").click(function () {

var num1=$("#num1").val();

var num2=$("#num2").val();

$.ajax({

url: "/cal/",

type: "post",

data: {

num1:num1,

num2:num2,

csrfmiddlewaretoken:$("[name='csrfmiddlewaretoken']").val()

},

success: function (response) {

console.log(response);

$("#ret").val(response)

}

})

})

Title

INDEX页面


{% csrf_token %}

+=计算

// 传参的Ajax请求

$(".cal").click(function () {

var num1=$("#num1").val();

var num2=$("#num2").val();

$.ajax({

url: "/cal/",

type: "post",

data: {

num1:num1,

num2:num2,

csrfmiddlewaretoken:$("[name='csrfmiddlewaretoken']").val()

},

success: function (response) {

console.log(response);

$("#ret").val(response)

}

})

})

解析:

用户地址栏输入http://127.0.0.1:8000/index/,返回计算的页面。点击计算按钮,执行回调函数,发送Ajax请求到/cal/,请求方式为post,请求过程中是携带数据的(前两个输入框输入的内容和csrfmiddlewaretoken对应的值),服务器拿到值做计算,响应给response,通过DOM操作添加到第三个input标签中。

原文链接:https://www.cnblogs.com/897463196-a/p/11727690.html

a标签用ajax请求传参,Django中如何实现传参的Ajax请求相关推荐

  1. django ajax页面跳转,Django中的AJAX GET请求后重定向

    我是新的Django和AJAX(javascript). 最后,我可以发送一些参数到Django视图.这个视图呈现一个编辑表单. 我发送的参数和视图响应的形式与我需要的信息,但我不能重定向到从视图呈现 ...

  2. 基于自定义注解校验入参Model中的必传字段

    文章目录 一.概述 二.实现细节 1. 自定义注解 2. 工具类 3. Aop 三.使用方法 1. 定义Aop 2. Model中标识必传字段和嵌套Model 3. Controller层添加自定义注 ...

  3. ajax数据交互代码,Django中使用jquery的ajax进行数据交互的实例代码

    jquery框架中提供了$.ajax.$.get.$.post方法,用于进行异步交互,由于Django中默认使用CSRF约束,推荐使用$.get 示例:实现省市区的选择 最终实现效果如图: 将jque ...

  4. php处理html5文件上传代码,HTML5中文件上传的代码

    这篇文章给大家分享的内容是关于HTML5中文件上传的代码,有一定的参考价值,有需要的朋友可以从参考一下,希望对你有所帮助.XHR2上传二进制文件 html代码: javascript代码:functi ...

  5. java文件上传过滤,struts2中文件上传过滤

    手动实现文件过滤 大部分时候,Web应用不允许浏览者自由上传,尤其不能允许上传可执行性文件--因为可能是病毒程序.通常,我们可以允许浏览者上传图片,上传压缩文件等:除此之外,还必须对浏览者上传的文件大 ...

  6. Java 文件上传到工程中,上传成功但是目录中没有显示

    文件上传语句 String path = request.getServletContext().getRealPath("/attr/"); File folder = new ...

  7. ajax漏洞 console_在实战中可能碰到的几种ajax请求方法详解

    前言 最近在做一个针对单个节点测速的功能页面,测速的逻辑是,测上传速度时,前端传5m数据给server,记录上传和返回数据的时间,测下载速度时,从server下载1m的数据,记录下载和下载成功的时间, ...

  8. react发送Ajax中文问号,在React中你真的用对了Ajax吗?

    通过AJAX加载初始数据 通过AJAX加载数据是一个很普遍的场景.在React组件中如何通过AJAX请求来加载数据呢?首先,AJAX请求的源URL应该通过props传入:其次,最好在component ...

  9. java中上传文件_Java中文件上传下载 --使用Minio

    Minio模板类: @RequiredArgsConstructor public class MinioTemplate implements InitializingBean { private ...

最新文章

  1. Pytorch 中的 5 个非常有用的张量操作
  2. VisualSVN Server以及TortoiseSVN客户端的配置和使用方法
  3. Qt之Q_GLOBAL_STATIC创建全局静态对象
  4. allegro 16.6/17.4 中如何将实心焊盘显示为空心焊盘
  5. 还发愁项目经验吗?基于Netty实现分布式RPC框架[附完整代码]
  6. python笔记之循环控制
  7. Android 加载进度条,加载成功,数据为空,加载失败,无网络等状态不同界面的切换
  8. Positive Definite Matrices
  9. python之shapely库的使用
  10. 计算机ip怎么换路由器,教你如何修改路由器LAN口IP地址的方法
  11. 猿辅导python编程老师面试_猿辅导辅导老师面试过程➕感受
  12. mysql backtrace_是什么导致Linux 64位上的backtrace()崩溃(SIGSEGV)
  13. 原生JS实现富文本编辑器
  14. git rebase 的几种用法
  15. Windows 10 与 kali 双系统安装
  16. 一、Glade-3安装配置
  17. 《Communication-Efficient Learning of Deep Networks from Decentralized Data》论文阅读
  18. 江西财经大学计算机科学与工程,江西财经大学-软件与物联网工程学院
  19. 视频会议成未来办公趋势 四个问题需重视
  20. 远程桌面连接出错「用户账户限制会阻止你登录...」

热门文章

  1. JAVA成员变量为什么不能在类体中先定义后赋值
  2. SpringMvc多视图整合(jsp、velocity、freemarker)
  3. Google Map API使用详解(十)——使用JavaScript创建地图详解(上)
  4. 教你9招最有效防电脑辐射方法
  5. 让大家都成为电脑高手之二------运行_r篇
  6. 什么是BS结构、CS结构、RIA结构程序
  7. 报表需求源源不断?手把手教你提升报表通用性
  8. 打开多个界面_使用 Terminator 在一个窗口中运行多个终端
  9. 3d max用不同目标做关键帧_基于光流的视频目标检测系列文章解读
  10. 汇编语言程序如何转化成c语言,如何把汇编语言转换成C语言