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)

测试结果如:

时间: 2024-10-16 02:17:48

Ajax-05 使用XMLHttpRequest和jQuery实现Ajax实例的相关文章

通过XMLHttpRequest和jQuery实现ajax的几种方式

AJAX大家已经都知道了,是为了实现异步通讯,提高用户体验度,而将很多旧知识(XML,DOM,JavaScript,HTML,Jquery,Css……)重新融合的一个新的知识框架.而,XMLHttpRequest对象则是其中的重重之中,本篇文章主要给大家介绍通过XMLHttpRequest和jQuery实现ajax的几种方式 HTML代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="

325 AJAX介绍,XMLHttpRequest对象,实现Ajax的异步交互步骤,服务器端通信状态

* Asynchronous JavaScript and Xml \* 直译中文 - javascript和XML的异步 \* (不严格的定义)客户端与服务器端进行交互,而无需刷新当前页面的技术,称之为Ajax. * Ajax实现的是B/S架构下的异步交互 * 实现异步交互的技术: \* <iframe src="">元素 * 同步与异步的区别 * 同步交互 \* 执行速度相对比较慢 \* 响应的是完整的HTML页面 * 异步交互 \* 执行速度相对比较快 \* 响应的是

ajax学习(二)-jquery的ajax方法总结

//ajax静态方法-ajax() //常用ajax属性总结 $.ajax({ url:"", async:false, dataType:"jsonp",//jsonp,json,text,html,script,xml data: {name:"John",location:"Boston"}, timeout:, type:,//get or post username:, password:, //事件 beforeS

Angular和jQuery的ajax请求的差别

近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释contentType默认是 application/x-www-form-urlencoded; charset=UTF-8 contentType (default: 'application/x-www-form-urlencoded; charset=UTF-8') Type: String Wh

JQuery操作Ajax

今天就来说说jquery对于ajax的支持,jquery封装了XMLHttpRequest的底层实现,直接调用提供的方法即可 1.$.ajax(options) 这个方法是jquery对于ajax最为全面的支持,$.ajax(options)既可以发送GET请求,也可以发送POST请求等等,因此我们通过这个方法可以获得ajax交互的所有控制权. 该方法中包含了一个参数options,该参数的形式为{key1:val1,key2:val2,key3:val3....},如 { url:delTag

详细解读Jquery各Ajax函数

$.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数. 而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明 $.get("data.php",$("#firstName

Angular和jQuery的ajax请求的区别

最近项目中使用angular,结果发现后台没法获取参数,所以,稍微研究了一下两者在发送ajax时的区别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释contentType默认是 application/x-www-form-urlencoded; charset=UTF-8 contentType (default: 'application/x-www-form-urlencoded; charset=UTF-8') Type: String Wh

Ajax学习(二):模仿jQuery的Ajax封装工具

通过上一节的学习,基本了解Ajax的使用, 但是这样使用很麻烦,这里封装ajax为一个方法,作为一个ajax工具,传入相应参数就可以实现ajax的使用. 模仿jQuery的Ajax. 如下是jQuery的Ajax使用,只需要传入相应参数,即可实现Ajax 第一步:创建Ajax工具类: function createXMLRequst(){ try{ return new XMLHttpRequest(); }catch(e) { try{ return new ActiveXObject("Ms

Struts2 整合jQuery实现Ajax功能(1)

技术领域很多东西流行,自然有流行的道理,这几天用了jQuery,深感有些人真是聪明绝顶,能将那么多技术融合的如此完美. 首先明确个概念: jQuery是什么:是使用javascript语言开发的,用于满足项目前台各种操作需要的js程序文件.也就是说,jQuery基本上就是个js程序集,基础核心是jQuery.js文件. l        当然根据不同的版本具体的表现形式: jQuery.1.6.js或者jquery-1.5.1.js 这个是版本号的不同,具体有哪些区别,还没发现. l