zoukankan      html  css  js  c++  java
  • Ajax-05 使用XMLHttpRequest和jQuery实现Ajax实例

    需求:

    (django)使用XMLHttpRequest和jQuery实现Ajax加法运算

    url.py:

    from django.conf.urls import url
    from hello import views
    
    urlpatterns = [
        url(r'add/', views.add, name='add'),
        url(r'add_number/', views.add_number, name='add_number'),
    
    ]

    add.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    <h1>XMLHttpRequest-Ajax请求</h1>
    <input type="button" onclick="XmlRequest();" value="发送请求">
    
    <h1>jQuery-Ajax请求</h1>
    <input type="button" onclick="JqRequest();" value="发送请求">
    
    <script src="http://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script type="text/javascript">
        function XmlRequest() {
            var xhr = new XMLHttpRequest();
            // 定义回调函数
            xhr.onreadystatechange = function () {
                if (xhr.readyState == 4) {
                    //已经接收到全部响应数据,执行以下操作
                    var data = xhr.responseText;
                    console.log(data);
                }
            };
            // 指定连接方式和地址--文件方式
            xhr.open('POST', {% url 'add_number' %}, true);
            // 设置请求头
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
            // 发送请求
            xhr.send('n1=2;n2=4;');
        }
    
        function JqRequest() {
            $.post({
                url: {% url 'add_number' %},
                data: {"n1": 222, "n2": 444},
                dataType: 'text',
                success: function (data, statusText, xmlHttpRequest) {
                    console.log(data);
                }
            });
    
        }
    </script>
    </body>
    </html>

    views.py

    from django.http import HttpResponse
    from django.shortcuts import render
    from django.views.decorators.csrf import csrf_exempt
    
    
    def add(request):
        return render(request, 'add.html')
    
    @csrf_exempt
    def add_number(request):
        method = request.method
        n1 = request.POST.get('n1')
        n2 = request.POST.get('n2')
        result = int(n1) + int(n2)
    
        content = '{"method":%s,"result":%s}' % (method, result)
        return HttpResponse(content)

    测试结果如:


    ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***

    ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
  • 相关阅读:
    android sdk manager 更新问题
    Java static的使用 --Java笔记
    day98-django-ORM操作,创建表,表的增删改查,CBV操作
    day97-django-自带分页
    day96-django-分页模块(自定义)
    day95-django-子版继承母版
    day94-django-cookie登录校验
    day92-django-pymysql操作mysql封装之优化版,自定义的sqlhelper.py模块
    day91-django学生列表之增删改查(模态框-ajax提交)
    day90-django学生列表之增删改查(form提交)、思路、关于ajax的知识点
  • 原文地址:https://www.cnblogs.com/guanfuchang/p/6645739.html
Copyright © 2011-2022 走看看