首页 > 其他分享 >Ajax

Ajax

时间:2022-12-19 21:34:37浏览次数:60  
标签:function get args request ajax Ajax POST

Ajax简介

特点:异步提交,局部刷新

ajax不是一门新的技术并且有很多版本,我们目前学习的jQuery版本(版本无所谓,本质都一样)

基本语法
	$.ajax({
        url:''		填的是后端地址,三种填写方法,与form标签的action一致
        type:'post'	 请求方式,默认是get
        date:{'v1':v1Val,'v2':v2Val}  发送给后端的数据
        success:function(args){   后端返回结果之后自动触发args接收后端返回的数据
            $('#d3').val(args)
        }
    })

Ajax普通写法

实现效果:在网页两个input框输入数字,第三个input框是结果,使用Ajax调用数据还在
视图层:
    def index(request):
    if request.method == 'POST':
        v1 = request.POST.get('v1')   # 接收发过来的数据
        v2 = request.POST.get('v2')
        v3 = int(v1) + int(v2)
        return HttpResponse(v3)   # 发挥计算的结果
    return render(request, 'index.html')
模板层:
    <input type="text" id="d1"> + <input type="text" id="d2"> = <input type="text" id="d3">
<button id="subBtn">点我发送ajax</button>

<script>
    $('#subBtn').click(function () {
        let v1Val = $('#d1').val();
        console.log(v1Val)
        let v2Val = $('#d2').val();
        console.log(v2Val)
        $.ajax({
            url:'',
            type:'post',
            data:{'v1':v1Val,'v2':v2Val},
            success:function (args){
                $('#d3').val(args)}   # 在d3中添加值为返回的计算结果
        })
    })
</script>
</body>

Content-Type

1.urlencoded
	ajax默认的编码格式/form表单默认也是
    数据格式	xxx=yyy&uuu=ooo
    django后端会自动处理到requset.POST中

2.formdata
	django后端针对普通的键值对还是处理到request.POST中,但是针对文件会处理到request.FILES中
    
3.application/  发送json格式的数据
	form表单不支持 ajax可以
    	<script>
    $('#d1').click(function () {
        $.ajax({
            url:'',
            type:'post',
            data:JSON.stringify({'name':'jason','age':18}),  // 千万不要骗人家
            contentType:'application/json',
            success:function (args) {
                alert(args)
            }

        })
    })
</script>
	后端需要从request.body中获取并自己处理

ajax携带文件数据

视图层:
    def index(request):
        if request.method == 'POST':
            print(request.POST)  # <QueryDict: {'name': ['jason'], 'age': ['18']}>
            print(request.FILES)  # <MultiValueDict: {'file': [<InMemoryUploadedFile: 12.19之路由层最后一部分.md (application/octet-stream)>]}>
            name = request.POST.get('name')
            file = request.FILES.get('file')
            return HttpResponse('123')
        return render(request, 'index.html')
模板层:
    <body>
<input type="text" id="d1">
<input type="file" id="d2">

<button id="d3">携带文件数据</button>

<script>
    $('#d3').click(function () {
        // 1.先产生一个fordata对象
        let myForDataobj = new FormData();
        // 2.该对象中添加普通数据
        myForDataobj.append('name', 'jason')
        myForDataobj.append('age', 18)
        //3.往该对象中添加文件数据
        myForDataobj.append('file', $('#d2')[0].files[0])
        $.ajax({
            url: '',
            type: 'post',
            data: myForDataobj,
            // 2个固定的写法
            contentType: false,
            processData: false
        })
    })
</script>
</body>

标签:function,get,args,request,ajax,Ajax,POST
From: https://www.cnblogs.com/zhanghong1229/p/16993105.html

相关文章

  • 进入python的世界_day55_Django—ORM进阶操作、ORM事务、Ajax
    一、ORM进阶操作1.Q查询进阶Q查询还可以将查询的字段改为字符串形式q_obj=Q()q_obj.connector='or'#q对象默认是多个条件也是and关系可以修改为orq_obj.child......
  • AJAX(笔记07) - 原生AJAX - 请求超时、网络异常、取消请求和重复请求处理
    开发的产品上线后,难免会遇到请求超时或网络异常的情况,在客户端设置超时处理和异常提醒,可以提升用户体验。手动取消请求和取消重复发送请求,可以节省服务端资源;这篇,来实现这些......
  • Ajax
    Ajaxajax不是一门新的技术并且有很多版本,我们目前学习的是jQuery版本,各版本之间本质是一样的Ajax的特点是异步提交,局部刷新Ajax基本语法基本语法 $.ajax({ur......
  • Ajax
    目录AjaxContent-Typeajax携带文件数据Ajax异步提交局部刷新ajax不是一门新的技术并且有很多版本我们目前学习的是jQuery版本(版本无所谓本质一样就可以) 基本语......
  • Ajax
    目录AjaxContent-Typeajax携带文件数据Ajax异步提交,局部刷新基本语法$.ajax({url:'',#提交地址,与form标签的action一致type:'post',#请求......
  • Q查询进阶操作、 ORM查询优化 、ORM事务操作、 ORM常用字段类型、 ORM常用字段参数 、
    目录Q查询进阶操作ORM查询优化ORM事务操作ORM常用字段类型ORM常用字段参数AjaxContent-Typeajax携带文件数据Q查询进阶操作fromdjango.db.modelsimportQq_obj=Q()......
  • Ajax简述 —— 快速增量式响应
    AjaxAjax的简介及用法Ajax是指异步JS和XML,使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。......
  • django ORM查询优化,事务,ajax
    ORM查询优化,事务,ajax内容概要Q查询进阶操作ORM查询优化ORM事务操作ORM常用字段类型ORM常用字段参数ORM三种创建多对多的方式Ajax请求内容详细Q查询进阶操作,默......
  • Ajax请求 content_type ajax发送Fromdata对象
    目录Ajax请求入门ajax实现简单计算器content_typeurlencodefromdataapplication/json自定义request.JSONajax发送Fromdata对象Ajax请求入门异步提交局部刷新ajax不是一......
  • ORM的一些尾巴和Ajax的基础
    今日内容详细Q查询进阶操作使用Q查询记得先导入fromdjango.db.modelsimportQ#1.先产生Q对象q_obj=Q()#2.默认多个条件的连接条件是and可以修改为orq_obj.c......